gpt4 book ai didi

SQL Server DATEADD 空值错误行为

转载 作者:行者123 更新时间:2023-12-05 07:20:41 26 4
gpt4 key购买 nike

我看到 sqlserver 中的 DATEADD 发生了一些奇怪的事情:

declare @buffdays smallint = null
declare @scheduledDeleteTime datetime2 = null
declare @FileNotExistOnDisk bit = 0
if (@FileNotExistOnDisk = 0)
begin
set @scheduledDeleteTime = DATEADD(day, @buffdays, GETDATE())
end
select @scheduledDeleteTime

返回 NULL

但是,这:

declare @buffdays smallint = null
declare @scheduledDeleteTime datetime2 = null
declare @FileNotExistOnDisk bit = 0
if (@FileNotExistOnDisk = 0)
begin
set @scheduledDeleteTime = DATEADD(day, null, GETDATE())
end
select @scheduledDeleteTime

返回:参数数据类型 NULL 对于 dateadd 函数的参数 2 无效。

有人可以解释为什么我看到两者之间的行为差​​异吗?第二个结果对我来说很有意义,但我不明白为什么第一个没有抛出错误...

最佳答案

第二个查询被平台异常处理捕获。

第一个是在不捕获异常的情况下传递参数。 NULL 与任何内容组合都是 NULL

关于SQL Server DATEADD 空值错误行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57419304/

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