gpt4 book ai didi

sql-server - 从 SQL Server 2005 中的日期时间减去分钟

转载 作者:行者123 更新时间:2023-12-01 18:48:42 26 4
gpt4 key购买 nike

假设我有一个日期时间字段,其值为 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(分钟, '00:15','2000-01-01 08:30:00');

但是输出是52595055。我怎样才能得到想要的结果?

NB.~ 如果我执行 SELECT dateadd(month, -15,'2000-01-01 08:30:00'); ,我将得到所需的结果,但这涉及解析分钟 field 。

编辑:

根据答案,每个人都建议将所有内容转换为分钟,然后减去 - 所以如果是 1:30,我需要减去 90 分钟。没关系。还有其他不转换为分钟的方法吗?

最佳答案

SELECT DATEADD(minute, -15, '2000-01-01 08:30:00'); 

第二个值(在本例中为-15)必须是数字(即不是像“00:15”这样的字符串)。如果您需要减去小时和分钟,我建议将 : 上的字符串拆分以获取小时和分钟,然后使用类似的方法进行减去

SELECT DATEADD(minute, -60 * @h - @m, '2000-01-01 08:30:00'); 

其中 @h 是字符串的小时部分,@m 是字符串的分钟部分

编辑:

这是一个更好的方法:

SELECT CAST('2000-01-01 08:30:00' as datetime) - CAST('00:15' AS datetime)

关于sql-server - 从 SQL Server 2005 中的日期时间减去分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2309028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com