原文:【Transact-SQL】找出不包含字母、不包含汉字的数据
测试的同事,让我帮忙写个sql语句,找出表中xx列不包含汉字的行。
下面的代码就能实现。
-
IF EXISTS(SELECT * FROM sys.tables WHERE name = 't')
-
DROP TABLE t
-
go
-
-
CREATE TABLE t(str VARCHAR(100))
-
-
INSERT INTO t
-
VALUES('abc'),('ABZ'),('abc一二三'),('一二三'),('123456789')
-
-
-
--1.不包含字母
-
SELECT *
-
FROM t
-
WHERE str NOT LIKE '%[a-zA-Z]%'
-
-
-
SELECT *
-
FROM t
-
WHERE patindex('%[a-zA-Z]%',str) =0
-
-
-
-
--2.不包含汉字
-
SELECT *
-
FROM t
-
WHERE str NOT LIKE '%[吖-座]%'
-
-
-
SELECT *
-
FROM t
-
WHERE patindex('%[吖-座]%',str) =0