Supondo que os tipos de dados subjacentes sejam tipos de data/hora/datahora:
SELECT CONVERT(DATETIME, CONVERT(CHAR(8), CollectionDate, 112)
+ ' ' + CONVERT(CHAR(8), CollectionTime, 108))
FROM dbo.whatever;
Isso converterá
CollectionDate
e CollectionTime
para char sequências, combine-as e converta-as em um datetime
. Os parâmetros para
CONVERT
são data_type
, expression
e o style
opcional (consulte sintaxe documentação
). O data e hora
style
valor 112
converte para um ISO yyyymmdd
formato. O style
valor 108
converte para hh:mi:ss
formato. Evidentemente, ambos têm 8 caracteres e é por isso que o data_type
é CHAR(8)
para ambos. A sequência de caracteres combinada resultante está no formato
yyyymmdd hh:mi:ss
e, em seguida, convertido para um datetime
.