我在我的数据库中的表中有3列 - Created
,Expires
和Expiration_Interval
。既Created
和Expires
是datetimeoffset(0)
和Expiration_Interval
是数据类型Time(0)
的。SQL Server 2008 R2中的DateTime计算
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
“更简单的方法” - 更容易以什么方式? – 2011-12-28 09:09:19
也许更容易是不正确的词。更有效的方法? – Raj 2011-12-28 10:09:56
比什么效率更高?你的基准在哪里? – 2011-12-28 10:32:11