Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Den Typ einer Spalte nachträglich ändern. Daten sollen bestehen bleiben

  Alt 16. Feb 2016, 11:33
Datenbank: ALS • Version: 11.0 • Zugriff über: FireDAC
Ich habe das gemacht, was man laut diesem schlauen Thread:
http://www.delphipraxis.net/187239-a...er-zahlen.html
niemals tun sollte: Bezeichner die heute nach Zahlen aussehen als Integer speichern. Ich habe extra zwei mal gefragt, aber jetzt sollen bitte doch Buchstaben drin vorkommen können.

An sich ist das einfach. Sage ich einfach
Code:
ALTER TABLE "meineTabelle"
ALTER COLUMN "meineSpalte" "meineSpalte" CHAR(40)
wird aus meiner Spalte vom Typ "ShortInteger" eine "CHAR(40)"-Spalte. Aber Moment, was passiert mit den Daten die da schon drin stehen? Eine 5 wird zu einer "5" , eine 0 zu einer "0" . Eigentlich kann hier nichts falsch laufen.

Aber wer garantiert mir das? Selbst den Rückweg macht meine "SAP Advantage Database"-Datenbank ohne Probleme: Aus einer "5" wird eine 5 , aus einer "5a" wird eine 5 und aus "Delphi" wird eine 0 ! Das ist schon etwas gruselig. Meine Frage: Gibt es einen Standard von dem man halbwegs ausgehen kann? Macht da jedes DBMS anders? Ich finde in meiner Doku zu Typkonversionen nichts.
  Mit Zitat antworten Zitat