В моей базе данных есть 3 столбца в таблице - Created
, Expires
и Expiration_Interval
. И Created
, и Expires
имеют значение datetimeoffset(0)
, а Expiration_Interval
относится к типу данных Time(0)
.
Created
заполняется SYSUTCDATETIME()
при вставке новой строки. Данные для Expiration_Interval
предоставляются во входном XML-формате в формате hh:mm:ss
, извлекаются и заполняются. Требуется заполнить столбец Expires
Created+Expiration_Interval
. Вот мой подход:
INSERT INTO SESSIONS
SELECT
Expiration_Interval,
SYSUTCDATETIME(),
DATEADD(s,((DATEPART(hh,Timeout)*3600)+(DATEPART(mi,Timeout)*60)+ DATEPART(ss,Timeout)),SYSUTCDATETIME())
FROM input_xml -- CTE with shredded XML data
Есть ли более простой способ сделать это? Это на SQL Server 2008 R2