gpt4 book ai didi

sql - 为什么数字 0 计算为空格

转载 作者:行者123 更新时间:2023-12-04 13:51:49 24 4
gpt4 key购买 nike

这是以前让我感到困惑的事情,但我从来没有找到解释。我在 SQL Server 2008 数据库中有一个类型为 smallint 的列.我想查找值为 NULL 的任何行或空白,所以我这样说:

SELECT *
FROM products
WHERE warranty_dom IS NULL
OR warranty_dom = ''

这将返回值为 0 的行

那么为什么是 0视为等同于 '' ?

最佳答案

0 本身不被视为“”。相反, '' 隐式转换为整数,并且该转换使其为 0。

自己试试:

SELECT CAST(0 AS varchar)        -- Output: '0'
SELECT CAST('' AS smallint) -- Output: 0

另外,正如其他地方提到的:如果warranty_dom 是smallint 类型,那么它一开始就不可能是空白的。

关于sql - 为什么数字 0 计算为空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14566480/

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