【发布时间】:2011-01-19 12:34:11
【问题描述】:
假设我有一个日期时间字段,其值为 2000-01-01 08:30:00 和一个持续时间字段,其值为 00:15(表示 15 分钟)
如果我减去这两个,我应该得到 2000-01-01 08:15:00
另外,如果我想减去 1:15(表示 1 小时 15 分钟),输出应该是 2000-01-01 07:15:00
我正在尝试SELECT DATEDIFF(minute, '00:15','2000-01-01 08:30:00');
但输出是 52595055。我怎样才能得到想要的结果?
注意~如果我这样做 SELECT dateadd(minute, -15,'2000-01-01 08:30:00'); ,我会得到想要的结果,但这涉及解析分钟字段。
编辑:
根据答案,每个人都建议将所有内容转换为分钟,然后减去 - 所以如果是 1:30,我需要减去 90 分钟。没关系。有没有其他方法不转换为分钟?
【问题讨论】:
-
最好为开始和结束存储完整的 DATETIME 值
标签: sql-server tsql datetime sql-server-2005 dateadd