【发布时间】:2015-10-11 11:45:12
【问题描述】:
我无法弄清楚如何使用 datediff() 函数来处理重叠的日子。
这是我的桌子和黄色标记的行我有问题。
SELECT
FOMTID,
TOMTID,
DATEDIFF(MINUTE, FOMTID,TOMTID) TIME
FROM [DATABASE]...
我确实没有有像'2001-01-01 23:30'和'2001-01-02 00:00'这样的字段,这将使日期差异功能起作用,但我只有时间。
【问题讨论】:
-
社区有哪些类型?
-
如果您没有日期组件,服务器如何知道您的意思是“第二天的午夜”而不是“今天的午夜”?
Datediff当第一个参数小于第二个参数时返回负值,这就是你所拥有的。如果你不喜欢这个,add 一整天到TOMTID时拨打datediff如果FOMTID > TOMTID。 -
FOMTID = varchar(8) TOMTID = varchar(8) Time = decimal(8,2) (因为我在脚本中进一步使用了这个字段)
-
如果我选择一行 (18),我希望它说 32 而不是 1408(或 -1408)
标签: sql-server time sql-server-2012 overlap datediff