gpt4 book ai didi

sql - 从 GETDATE() 中减去日期得到 "time since"

转载 作者:行者123 更新时间:2023-12-05 02:21:18 25 4
gpt4 key购买 nike

我有一个元素在“创建日期”列中具有 DATETIME 格式的值。

我希望能够从执行查询的时间提取多长时间前的值(作为引用,采用 GETDATE())

执行时:

UPDATE #LPs
SET LastUsed = (GETDATE() - DateCreated)

我收到 1900-01-01,我相信这是由于 SQL Server 对最小 DATETIME 的限制。

我应该如何正确才能获得“2 年 3 个月”、“2 个月”(任何日期时间格式)等值?

最佳答案

Sql server 没有内置函数,可以像您希望的那样将日期差异作为格式化字符串返回,但它确实有一个 DATEDIFF将返回两个日期之间的日期部分数的函数:

DECLARE @Now datetime = GETDATE(),
@Date datetime = GETDATE() + 5 -- five days from now

SELECT @Now as Now,
@Date as Date,
DATEDIFF(Day, @Now, @Date) As DateDiff

您可以获得日期之间的月数并使用 modulu operator 自行计算字符串

关于sql - 从 GETDATE() 中减去日期得到 "time since",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35195233/

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