2017-07-10 6 views
-1

'a'、 'b'または 'c'で始まったテーブルの値をクエリしようとしました。mySQLのいくつかの 'starting with'値をクエリ

(LIKE「[ABC]%」)

私は正しい構文は、オラクルやMySQLなどの他のデータベースにあったかと思った:私は、MS SQLにあなたが[CHARLIST]これを実行することができます知っています。

感謝のMySQLでは

答えて

0

あなたは

where some_column REGEXP '[abc].*' 
0

正規表現を使用することができますMySQLは同じ構文に従います。ワイルドカードに%を使用するか、または?単一文字:代わり

SELECT * FROM `table` WHERE `column` LIKE 'a%' OR `column` LIKE 'b%'... 

、あなたは、MySQLでREGEXPを使用することができますが、データを照会するために、インデックスを使用することができないとして、それはパフォーマンスヒットが発生します。

SELECT LIKE 'a%'クエリでは、インデックスを使用してAで始まるすべてのアイテムを検索し、効率的にそれらを返すことができます。 REGEXPを使用すると、各アイテムの行スキャンが発生し、パフォーマンスに大きな影響があります。

関連する問題