Förutsatt att de underliggande datatyperna är datum/tid/datumtidtyper:
SELECT CONVERT(DATETIME, CONVERT(CHAR(8), CollectionDate, 112)
+ ' ' + CONVERT(CHAR(8), CollectionTime, 108))
FROM dbo.whatever;
Detta kommer att konvertera CollectionDate och CollectionTime för att markera sekvenser, kombinera dem och konvertera dem sedan till en datetime .
Parametrarna för att CONVERT är data_type , expression och den valfria style (se syntax dokumentation
).
datum och tid style
värde 112 konverterar till en ISO yyyymmdd formatera. style värde 108 konverterar till hh:mi:ss formatera. Uppenbarligen är båda 8 tecken långa, vilket är anledningen till data_type är CHAR(8) för båda.
Den resulterande kombinerade char-sekvensen är i formatet yyyymmdd hh:mi:ss och konverteras sedan till en datetime .