Was ist die richtige Methode zum Formatieren eines Datetime-Datumsfeldes im SQL Server?

7

Ich habe ein dateTime-Objekt in C # und möchte eine Einfügung in das Datetime-Feld von SQL Server machen. Was ist das richtige Format dafür?

    
leora 19.12.2009, 00:48
quelle

3 Antworten

16

Der richtige Weg dafür ist eine parametrisierte Abfrage, nicht Textformatierung. Dann können Sie einfach einen stark typisierten SqlDbType.DateTime Parameter verwenden.

(Wenn Sie unbedingt Textformatierung verwenden müssen - und ich empfehle dringend dagegen - dann sollte etwas wie yyyyMMdd HH:mm:ss den Trick machen.)

    
LukeH 19.12.2009, 00:53
quelle
3

Um auf Lukes Antwort zu kommen, bin ich erst kürzlich auf diesen Fehler gestoßen.

Das yyyy-MM-dd HH:mm:ss -Format hat ein Gebietsschema / Sprache-Problem in SQL Server 2005 (ein Beispiel ist Französisch), ist aber in SQL 2008 behoben:

Verwenden Sie dieses Format NICHT: yyyy-MM-dd HH:mm:ss (Leerzeichentrennzeichen).

Verwenden Sie nur: yyyy-MM-ddTHH:mm:ss (Trennzeichen "T") oder yyyyMMdd HH:mm:ss (Trennzeichen ohne Trennzeichen)

Wichtig, wenn Sie Skripte generieren, die datetime constants enthalten.

Siehe Artikel von Jamie Thomson SQL Blog

    
devstuff 19.12.2009 01:32
quelle
0

Verwenden Sie SET DATEFORMAT

ein Beispiel nahm von hier

%Vor%     
Fredou 19.12.2009 00:54
quelle

Tags und Links