我正在使用 SQL 语句来获取名称以某些字母开头的记录
SELECT * FROM Music WHERE Title LIKE 'A%' ORDER BY Title
任何人都可以建议将获取以数字和符号开头的标题的 SQL 查询吗?
我正在使用 SQL 语句来获取名称以某些字母开头的记录
SELECT * FROM Music WHERE Title LIKE 'A%' ORDER BY Title
任何人都可以建议将获取以数字和符号开头的标题的 SQL 查询吗?
您可以将 LIKE 与字符集一起使用:
SELECT * FROM Music WHERE Title LIKE '[^A-Za-z]%' ORDER BY Title
样本:
declare @music table(id int identity(1,1) not null primary key, title varchar(10))
insert @music(title)
values
('test1'),
('9test'),
('0test'),
('#test')
SELECT * FROM @Music WHERE Title LIKE '[^A-Za-z]%' ORDER BY Title
- - 结果 - -
id title
4 #test
3 0test
2 9test
利用PATINDEX
SELECT *
FROM Music
WHERE PATINDEX('[^a-zA-Z]%', Title) = 1
ORDER BY Title
可以结合 PATINDEX 函数和 LEFT 函数来做到这一点:
SELECT *
FROM Music
WHERE PATINDEX('%[A-Z ,a-z]%',LEFT(Title,1)) = 0
编辑:由于您在开始时搜索非字母字符,更改为 = 0, = 1 将返回任何以字母字符开头的字符。