SQL 服务器,检查 varchar 是否包含全零

SQL server, check if varchar contains all zeros

我需要编写一个函数来检查 varchar 变量值是否全为零。

由于变量是 varchar 而不是 int,所以我有点迷茫。你会怎么做?

非常感谢

您可以在 LIKE 测试中使用双重否定:

@variable NOT LIKE '%[^0]%'

也就是说变量不是由一些字符组成的,那么一个不是的字符是0,后跟一些字符。唯一无法匹配 LIKE 表达式的字符串是仅包含 0 的字符串,因此我们使用 NOT 来反转结果。

(这也接受一个空字符串——你是否认为一个空字符串只由 0 组成是一个非常有趣的讨论——它当然不包含任何 other 个字符。如果您选择拒绝,可以使用简单的 LEN(@Variable) 测试)