Ако приемем, че основните типове данни са типове дата/час/дата и час:
SELECT CONVERT(DATETIME, CONVERT(CHAR(8), CollectionDate, 112)
+ ' ' + CONVERT(CHAR(8), CollectionTime, 108))
FROM dbo.whatever;
Това ще преобразува CollectionDate
и CollectionTime
за char последователности, комбинирайте ги и след това ги конвертирайте в datetime
.
Параметрите за CONVERT
са data_type
, expression
и незадължителния style
(вижте синтаксис документация
).
дата и час style
стойност 112
преобразува в ISO yyyymmdd
формат. style
стойност 108
преобразува в hh:mi:ss
формат. Очевидно и двете са дълги 8 знака, поради което data_type
е CHAR(8)
и за двете.
Получената комбинирана последователност от знаци е във формат yyyymmdd hh:mi:ss
и след това се преобразува в datetime
.