gpt4 book ai didi

sql - 在 SQL 中获取当前年份的第一个月和第一天

转载 作者:行者123 更新时间:2023-12-04 20:54:15 28 4
gpt4 key购买 nike

我有一个 SP,我想获取当前年份以及该年的第一天和第一个月。

例如,今年:2014-01-01;对于 2015 年:2015-01-01;

我试过了

@data datetime , @test datetime

SELECT @test = GETDATE()
set @test = CAST( YEAR(@test)+'-'+'01'+'-'+'01' as char(100))
set @data = CAST( @test as datetime)

但它返回 2016 而不是 2014 有什么帮助吗?

最佳答案

您的问题是您要将日期和月份添加到数值中。 year() 返回一个整数。

将“-”隐式转换为 int 返回 0。

所以您的表达式将导致 2014+0+1+0+1,因为当您有一个整数并尝试添加 (var)chars 时,sqlserver 将尝试将其他所有内容转换为整数。

将日期操作为一年的第一天的最佳方法可能是这样的:

SELECT DATEADD(yy, DATEDIFF(yy, 0, getdate()), 0)

关于sql - 在 SQL 中获取当前年份的第一个月和第一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25666362/

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