Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kombinieren (Verketten) von Datum und Uhrzeit zu einer Datumszeit

Angenommen, die zugrunde liegenden Datentypen sind date/time/datetime-Typen:

SELECT CONVERT(DATETIME, CONVERT(CHAR(8), CollectionDate, 112) 
  + ' ' + CONVERT(CHAR(8), CollectionTime, 108))
  FROM dbo.whatever;

Dadurch wird CollectionDate konvertiert und CollectionTime zu Zeichenfolgen, kombinieren Sie sie und konvertieren Sie sie dann in ein datetime .

Die Parameter zu CONVERT sind data_type , expression und den optionalen style (siehe syntax Dokumentation ).

Der Datum und Uhrzeit style Wert 112 konvertiert in einen ISO yyyymmdd Format. Der style Wert 108 konvertiert zu hh:mi:ss Format. Offensichtlich sind beide 8 Zeichen lang, weshalb der data_type ist CHAR(8) für beide.

Die resultierende kombinierte Zeichenfolge hat das Format yyyymmdd hh:mi:ss und dann in ein datetime umgewandelt .