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)
测试)
我需要编写一个函数来检查 varchar 变量值是否全为零。
由于变量是 varchar 而不是 int,所以我有点迷茫。你会怎么做?
非常感谢
您可以在 LIKE
测试中使用双重否定:
@variable NOT LIKE '%[^0]%'
也就是说变量不是由一些字符组成的,那么一个不是的字符是0
,后跟一些字符。唯一无法匹配 LIKE
表达式的字符串是仅包含 0
的字符串,因此我们使用 NOT
来反转结果。
(这也接受一个空字符串——你是否认为一个空字符串只由 0
组成是一个非常有趣的讨论——它当然不包含任何 other 个字符。如果您选择拒绝,可以使用简单的 LEN(@Variable)
测试)