SQL Server中DATEFROMPARTS使用错误:无法生成2023-03-20日期
SQL Server 生成当月20号日期的错误修正
你的代码问题出在DATEFROMPARTS函数的参数顺序上:
- 该函数的正确参数顺序是
DATEFROMPARTS(year, month, day) - 你写成了
DATEFROMPARTS(@month, @day, @year),把年、月的位置完全颠倒,导致生成的日期不符合预期
修正后的代码如下:
DECLARE @year int = CONVERT(int,datepart(yyyy, GETDATE())) DECLARE @month int = CONVERT(int,datepart(m, GETDATE())) DECLARE @day int = 20 SELECT DATEFROMPARTS(@year, @month, @day)
执行这段代码后,就能得到当前月份的20号日期(比如当前日期为2023-03-16时,结果为2023-03-20)。
内容的提问来源于stack exchange,提问作者Brian Campbell
相关产品推荐
相关产品推荐

