sql查询字段中不符合规格的邮箱数据
有一列字段存储系统邮件的cc~
正确的数据
a@abc.com;b@abc.com;c@abc.com;d@abc.com..
现在因为程序错误,导致某几个作为分隔符的';'不见了.
变成
a@abc.comb@abc.com;c@abc.com;d@abc.comd@abc.com
求怎么查出这些列
[解决办法]
最后一个邮箱是以;结束还是没有;
如果最后一个是以;结束的可以通过判断;号和@的个数来判断
CREATE TABLE Table2( KK VARCHAR(100))INSERT INTO Table2SELECT 'a@abc.com;b@abc.com;c@abc.com;d@abc.com;' UNIONSELECT 'a@abc.comb@abc.com;c@abc.comd@abc.com;'SELECT * FROM Table2WHERE LEN(KK) - LEN(REPLACE(KK,';','')) <> LEN(KK) - LEN(REPLACE(KK,'@',''))
[解决办法]
select *from tbwhere patindex('%.com[^;]%',col) > 0