我正在使用SQL语句来获取名称以某些字母开头的记录
SELECT * FROM Music WHERE Title LIKE 'A%' ORDER BY Title
任何人都可以建议SQL查询,它将从数字和符号开始获取标题吗?
答案 0 :(得分:6)
您可以将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
答案 1 :(得分:2)
使用PATINDEX
SELECT *
FROM Music
WHERE PATINDEX('[^a-zA-Z]%', Title) = 1
ORDER BY Title
答案 2 :(得分:0)
可以使用PATINDEX函数和LEFT函数组合:
SELECT *
FROM Music
WHERE PATINDEX('%[A-Z ,a-z]%',LEFT(Title,1)) = 0
编辑:由于您在开始时搜索非字母字符,更改为= 0,= 1将返回以字母字符开头的任何字符。