【发布时间】:2019-02-21 14:12:30
【问题描述】:
我想查找列中不允许出现的字符。允许的字符是:
A-Z
0-9
空格 (CHAR 32)
- (CHAR 45)
因此,VARCHAR 列 RegNo 中不允许使用其他所有内容。 但问题是,在过去几年中,输入没有过滤。 所以各种奇怪的字符都存储在数据库中了。
我想找到这些案例并修复它。 所以我的第一次尝试
select regno from vehicle where regno like '%[^A-Z][^0-9][^-][^' + char(32) + ']%'
结果
Wiiks Luleå
SCÖ-01
NCÅ-01
668 AOJ
016 KMW
049 KMW
所以第一行是可以的,因为它包含'å'
但是为什么 668 AOJ、016 KMW、049 KMW
【问题讨论】:
标签: sql sql-server sql-server-2012 sql-like