加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sql server tsql中具有NULL的数学运算

发布时间:2022-10-15 06:01:33 所属栏目:MsSql教程 来源:未知
导读: Sql server tsql中具有NULL的数学运算
sql-servertsql
Sql server tsql中具有NULL的数学运算,sql-server,tsql,Sql Server,Tsql,为什么返回NULL而不是1这对我来说并不明确。仅仅是因为NULL不

Sql server tsql中具有NULL的数学运算

sql-servertsql

Sql server tsql中具有NULL的数学运算,sql-server,tsql,Sql Server,Tsql,为什么返回NULL而不是1这对我来说并不明确。仅仅是因为NULL不是0如果它有帮助,考虑 null >代码>作为“未知”的同义词,然后它将是完全正确的——1减一个未知数的结果只能给出未知的结果。NULL:NULL的值表示该值未知。NULL值与空值或零值不同。没有两个空值相等。两个空值之间或空值与任何其他值之间的比较返回unknown,因为每个空值的值都是未知的如果对null执行任何算术运算,则整个表达式的计算结果为null。为了处理null,您应该像这样使用Isnull()或coales

为什么

返回NULL而不是1

这对我来说并不明确。

仅仅是因为

NULL

不是

0

如果它有帮助,考虑 null >代码>作为“未知”的同义词,然后它将是完全正确的——1减一个未知数的结果只能给出未知的结果。

NULL:NULL的值表示该值未知。NULL值与空值或零值不同。没有两个空值相等。两个空值之间或空值与任何其他值之间的比较返回unknown,因为每个空值的值都是未知的

如果对null执行任何算术运算,则整个表达式的计算结果为null。为了处理null,您应该像这样使用Isnull()或coalesce函数

select 1 - NULL

以下是一些关于

NULL

行为不同的参考:

要确定表达式是否为NULL,请使用is NULL或is NOT NULL而不是比较运算符(例如=或!=)。当其中一个或两个参数都为NULL时Mssq数学函数,比较运算符返回UNKNOWN

因为sir,,

NULL

不是

0

…如果要在查询中将NULL替换为0,则可以使用函数

ISNULL()

,例如

选择1-ISNULL(列名称,0)

值得一提的是,连接字符串时也是如此,即

'Rowland'+NULL+'Shaw'

将返回

NULL

。是的,我完全按照您的建议做了。但这让我有点困惑。我希望像聚合函数一样忽略空值。内置函数会隐式忽略空值,但在您的情况下,您应该明确提到如何将空值处理到SQL Server

select 1 - isnull(NULL,0) as result

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!