Heim > Datenbank > MySQL-Tutorial > Wie kann ich TT-MM-JJJJ-Daten sicher im DATETIME-Datentyp von SQL Server speichern?

Wie kann ich TT-MM-JJJJ-Daten sicher im DATETIME-Datentyp von SQL Server speichern?

DDD
Freigeben: 2024-12-30 20:02:17
Original
314 Leute haben es durchsucht

How Can I Safely Store DD-MM-YYYY Dates in SQL Server's DATETIME Datatype?

Konvertierung des SQL Server-Datumsformats: DATETIME in TT-MM-JJJJ

In SQL Server beim Abrufen von Datumswerten im TT-MM -YYYY-Format verwenden, müssen Benutzer diese Werte häufig in einem DATETIME-Datentyp speichern und dabei das gleiche Format beibehalten. Diese Frage untersucht eine Lösung für diese Anforderung.

Die bereitgestellte Abfrage SELECT CONVERT(VARCHAR(10), GETDATE(), 105) konvertiert das aktuelle Datum erfolgreich in das gewünschte Format TT-MM-JJJJ VARCHAR-Datentyp. Das Speichern dieses Werts in einem DATETIME-Datentyp erfordert jedoch einen anderen Ansatz.

In SQL Server werden DATETIME-Werte als 2 4-Byte-Ganzzahlen gespeichert, wodurch sie grundsätzlich unformatiert sind. Um Datumsangaben in bestimmten Formaten anzuzeigen oder abzurufen, müssen diese mithilfe der entsprechenden Formatkennung in einen VARCHAR-Datentyp konvertiert werden.

Um das gewünschte Format in einem DATETIME-Datentyp zu erreichen, beachten Sie Folgendes:

  • Stellen Sie sicher, dass das Datum sicher formatiert ist, bevor Sie es einfügen. TT-MM-JJJJ ist kein allgemein sicheres Format, da es in einigen Einstellungen als MM-TT-JJJJ interpretiert werden kann.
  • Verwenden Sie sichere Formate wie jjjjMMtt oder jjjj-MM-ttThh:mi:ss.mmm .
  • Zum Beispiel, um ein Datum im Format TT/MM/JJJJ einzufügen sicher:

    INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
    Nach dem Login kopieren
  • Verwenden Sie stattdessen ein sicheres Format:

    INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
    Nach dem Login kopieren

Bitte beachten Sie, dass SSMS bei der Auswahl von DATETIME-Feldern formatierte Werte anzeigt aus Bequemlichkeitsgründen. Die tatsächliche interne Darstellung ist eine 8-Byte-Ganzzahl.

Das obige ist der detaillierte Inhalt vonWie kann ich TT-MM-JJJJ-Daten sicher im DATETIME-Datentyp von SQL Server speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage