SQL查询,其中列包含数字或逗号或空格以外的字符

时间:2014-07-23 04:51:41

标签: sql tsql sql-server-2008-r2

我试过PATINDEX并涉及RegEx,但我想做的只是查询特定列中包含数字,逗号或空格以外的字符的行。

这些都很好:

740
79783
00830,01512
77727
52256, 52264, 00122

但我想找到别的东西。像:

N/A
TBA
101A
12345.11111

一个RegEx可以做到这一点吗,我是否对PATINDEX进行分组?我不知道从哪里开始!

2 个答案:

答案 0 :(得分:1)

不确定这是否适用于您的版本,但请尝试:

WHERE (particular_column REGEXP '[^0-9\s,]')

答案 1 :(得分:1)

TSQL对正则表达式的支持有限。如果您知道无效字符列表,如字母,小数运算符BEFORE。

,则下面有效
select * from sample 
where val NOT like '%[a-zA-Z.]%'

SQL Fiddle Demo