gpt4 book ai didi

sql - T-SQL NULLIF 返回 NULL 为零

转载 作者:行者123 更新时间:2023-12-01 10:25:32 24 4
gpt4 key购买 nike

为什么下面的脚本返回 NULL 而不是 0

DECLARE @number BIGINT = 0;

SELECT NULLIF(@number, '');

根据 MSDN,它应该返回 0 :

NULLIF
Returns a null value if the two specified expressions are equal.



对于 SQL Server, 0'' 被认为是相同的(=equal)?背后的逻辑是什么?

最佳答案

当一个运算符组合两个不同数据类型的表达式时,数据类型优先级规则指定优先级较低的数据类型转换为优先级较高的数据类型。

SELECT CONVERT(bigint, '')
SELECT CONVERT(float, '')
SELECT CONVERT(date, '')

0
0
1900-01-01

https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-type-precedence-transact-sql

关于sql - T-SQL NULLIF 返回 NULL 为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47769400/

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