SQL Server 2000 Like语句用法
时间:2020-03-06 14:23:17 来源:igfitidea点击:
我有一个SQL语句,看起来像:
SELECT [Phone] FROM [Table] WHERE ( [Phone] LIKE '[A-Z][a-z]' OR [Phone] = 'N/A' OR [Phone] LIKE '[0]' )
我遇到的问题是带有" LIKE"的where语句。我已经看到了SQL语句,其中作者以上面我使用它们的方式使用了like语句。起初,我以为这可能是正则表达式的一个版本,但是我从中学到了。
有谁熟悉以这种方式使用类似语句。注意:" N / A"工作正常。
我需要匹配的是带有字符的电话号码。或者仅包含零的电话号码。
解决方案
在这里检查。
[]匹配一个字符范围。
我想你想要这样的东西:
SELECT [Phone] FROM [Table] WHERE ( [Phone] LIKE '%[A-Z]%' OR [Phone] LIKE '%[a-z]%' OR [Phone] = 'N/A' OR [Phone] LIKE '0' )
尝试使用t-sqlISNUMERIC
函数。这将向我们显示哪些不是数字。
我们可能还需要TRIM
或者REPLACE
空间来获取所需的内容。
例如,要查找有效的电话号码,请用''代替空格,用ISNUMERIC
进行测试,并用LEN
进行测试。
尽管我会警告我们,但如果我们必须处理国际电话号码,这将很乏味。
上面的SQL需要注意的一点是,SQL Server不了解Regex。