Convert bei einem SQL-Server

22/08/2007 - 15:22 von Nikolai Wylutzki | Report spam
Hallo an alle,

ich öchte in einem SQL-Statement der an einen MS-SQL Server 200 bzw 2005
geschickt wird ein Datum mit abspeichern. Doch ich erinner mich vage,
dass der MS-SQL-Server eine Funktion bereit hàlt, die es ermöglicht
Landesunabhàngig das Datum zum Abspeichern zu übergeben.

Da war irgend was mit "CONVERT(DATETIME)"

Weiss jemand zufàllig wie die Syntax genau bei dieser SQL-Funktion heisst ?

Das Problem das ich habe ist folgendes:

Ich habe eine Datumsangabe im deutschen Format z.B.: 31.12.2006

Nun will ich diese Datumsangabe an den Server übergeben ohne mir
Gedanken machen zu müssen, ob der SQL-Server ein englisches oder
deutsches Datumsformat erwartet. Ich habe zwar gegoogelt aber
bin noch nicht sorichtig auf eine Lösung gekommen:


Alte Form:
-
UPDATE myTable SET datum_von = '31.12.2006' WHERE IDNR = 1


Neue Form ?
UPDATE myTable SET datum_von = CONVERT(DATETIME,'31.12.2006', ...) WHERE
IDNR = 1


MfG

Nikolai
 

Lesen sie die antworten

#1 Peter Fleischer
22/08/2007 - 15:59 | Warnen spam
Nikolai Wylutzki wrote:

Ich habe eine Datumsangabe im deutschen Format z.B.: 31.12.2006

Nun will ich diese Datumsangabe an den Server übergeben ohne mir
Gedanken machen zu müssen, ob der SQL-Server ein englisches oder
deutsches Datumsformat erwartet. Ich habe zwar gegoogelt aber
bin noch nicht sorichtig auf eine Lösung gekommen:


Alte Form:
-
UPDATE myTable SET datum_von = '31.12.2006' WHERE IDNR = 1


Neue Form ?
UPDATE myTable SET datum_von = CONVERT(DATETIME,'31.12.2006', ...)
WHERE IDNR = 1



Hi Nikolai,
besser ist, den String dort, wo er entsteht sofort anhand der dort gültigen
lokalen Einstellungen in einen Datums-Wert umzuwandeln und einer
Datums-Variablen zuzuweisen, z.B. mit CDate.

Dem SQL Server übergibst du den Wert der Datums-Variablen über einen
Parameter. Da ist es völlig egal, wie der SQL Server eingestellt ist.

UPDATE myTable SET datum_von = @von WHERE IDNR = 1


Viele Grüße

Peter

Ähnliche fragen