如何实现以下显示ClientNumber的第一个字符不是字母表字母的所有行?
select * from Table
where Left(ClientNumber,1) <> A to Z
答案 0 :(得分:3)
您可以这样做:
700%
或:
where left(clientNumber, 1) < 'A' or left(clientNumber, 1) > 'Z'
但请注意,由于特征情况,比较会很棘手。假设1字节字符,您可能需要:
where left(clientNumber, 1) not between 'A' and 'Z'
编辑:
如果我想使用索引:
where ascii(left(clientNumber, 1)) not between ascii('A') and ascii('Z')
但是,我不太确定索引在这种情况下是否真的有用。
答案 1 :(得分:3)
您可以使用NOT LIKE:
SELECT *
FROM Table
WHERE ClientNumber NOT LIKE '[A-Za-z]%'
答案 2 :(得分:0)
尝试这样......
SELECT
*
FROM
dbo.MyTable mt
WHERE
mt.ClientNumber LIKE '[^a-Z]%'