SQL“排除”字母数字条件不工作

SQL“排除”字母数字条件不工作,sql,sybase,Sql,Sybase,我知道有很多论坛讨论,但我认为我的情况是独特的,我试图寻找所有没有字母数字值的address1字段,我只是用基本sql数据库Sybase查询,如下所示 select address1 from address_table where address1 like '%[^a-zA-Z0-9]%' 我的结果集包括字母数字值 ~~~~~~~~~~~~ 1304 LOVERS LN 1304 LOWE AVE 1304 LYNCHBURG ST #1 1304 LYNCHBURG ST #1 130

我知道有很多论坛讨论,但我认为我的情况是独特的,我试图寻找所有没有字母数字值的address1字段,我只是用基本sql数据库Sybase查询,如下所示

select  address1 from address_table where address1 like '%[^a-zA-Z0-9]%'
我的结果集包括字母数字值

~~~~~~~~~~~~
1304 LOVERS LN
1304 LOWE AVE
1304 LYNCHBURG ST #1
1304 LYNCHBURG ST #1
1304 LYNNWOOD DR
~~~~~~~~~~~~

我不确定我遗漏了什么

如果我正确理解了您的提问,您将需要在模式中更具体地匹配address1在字符串中任何位置都不包含字母数字字符的记录

利用贪婪重复修饰符*根据模式检查字符串中的每个字符

select address1 from address_table where address1 like '%[^a-zA-Z0-9]*%'

您正在匹配至少有一个非字母数字字符的任何内容。 你想要一个负片:

select  address1 from address_table where address1 not like '%[a-zA-Z0-9]%'

你对模式如何应用的理解是有缺陷的;您的匹配可能来自空格和字符。是的,谢谢,它正是我想要的。。谢谢你的快速回复。