4

最初の文字が数字であるテーブルで文字列を見つけるにはどうすればよいですか?

次のようにMySQL LIKEを使用しています

SELECT   DISTINCT label_no_country
FROM     releases
WHERE    label_no_country LIKE '$letter%'  
ORDER BY label_no_country

$letterAZ 間の文字 (入力による)

その場合$letter == 'A'、最初の文字が A であるすべてのエントリが表示されます。

このクエリを実行して、数字で始まるレコードを表示するにはどうすればよいですか?

例えば

1st record

乾杯!

4

2 に答える 2

26

正規表現を使用することをお勧めします。

SELECT DISTINCT label_no_country FROM releases 
WHERE label_no_country 
REGEXP '^[0-9]'

詳細については、 MySQLのドキュメントを参照してください。

于 2012-06-15T12:59:14.160 に答える
0
WHERE label_no_country >= '0' AND label_no_country <= '9zzzzzzzzzzzzz' -- Insert as many z:s as the field can hold

編集: またはさらに良いことに、照合シーケンスの9の直後にある文字を入力するだけです:

WHERE label_no_country >= '0' AND label_no_country < ':' -- assuming : is the character after 9 in your collating sequence
于 2012-06-15T12:59:43.770 に答える