23 agosto 2018

Unire due campi data e ora in uno solo in SQL Server


Esempio:
nella tabella "Log" ci sono due campi di formato "datetime" uno con solo la data e uno con solo l'ora.
Se si vuole creare un campo unico "DataOra", è necessario prima convertire da data a stringa, concatenare e poi riconvertire in datetime.

UPDATE Log
SET DataOra = CONVERT(datetime, LEFT(CONVERT(char, Data, 121), 10) + ' ' + CONVERT(char, Ora, 108), 121)

121 indica uno stile di data aaaa-mm-gg hh:mi:ss.mmm(24h) (vedi link)