4

SQL ステートメントを使用して、名前がアルファベットで始まるレコードを取得しています

SELECT * FROM Music WHERE Title LIKE 'A%' ORDER BY Title

数字と記号で始まるタイトルを取得する SQL クエリを提案できる人はいますか?

4

3 に答える 3

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
于 2013-06-02T15:44:51.303 に答える
2

使用するPATINDEX

SELECT * 
FROM   Music 
WHERE  PATINDEX('[^a-zA-Z]%', Title) = 1
ORDER  BY Title
于 2013-06-02T15:37:02.400 に答える
0

PATINDEX 関数と LEFT 関数を組み合わせてこれを行うことができます。

SELECT *
FROM Music
WHERE PATINDEX('%[A-Z ,a-z]%',LEFT(Title,1)) = 0

編集:開始時にアルファベット以外の文字を検索しているため、= 0 に変更すると、= 1 はアルファベット文字で始まるものを返します。

于 2013-06-02T15:37:37.610 に答える