测试的同事,让我帮忙写个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