Zakładając, że bazowymi typami danych są typy daty/czasu/daty/godziny:
SELECT CONVERT(DATETIME, CONVERT(CHAR(8), CollectionDate, 112)
+ ' ' + CONVERT(CHAR(8), CollectionTime, 108))
FROM dbo.whatever;
Spowoduje to przekonwertowanie CollectionDate
i CollectionTime
do sekwencji znaków, połącz je, a następnie przekonwertuj na datetime
.
Parametry do CONVERT
są data_type
, expression
i opcjonalny style
(patrz składnia dokumentacja
).
data i godzina style
wartość 112
konwertuje na ISO yyyymmdd
format. style
wartość 108
konwertuje na hh:mi:ss
format. Najwyraźniej oba mają długość 8 znaków, dlatego data_type
to CHAR(8)
dla obu.
Wynikowa połączona sekwencja znaków ma format yyyymmdd hh:mi:ss
a następnie przekonwertować na datetime
.