'a'、 'b'または 'c'で始まったテーブルの値をクエリしようとしました。mySQLのいくつかの 'starting with'値をクエリ
(LIKE「[ABC]%」)
私は正しい構文は、オラクルやMySQLなどの他のデータベースにあったかと思った:私は、MS SQLにあなたが[CHARLIST]これを実行することができます知っています。
感謝のMySQLでは
'a'、 'b'または 'c'で始まったテーブルの値をクエリしようとしました。mySQLのいくつかの 'starting with'値をクエリ
(LIKE「[ABC]%」)
私は正しい構文は、オラクルやMySQLなどの他のデータベースにあったかと思った:私は、MS SQLにあなたが[CHARLIST]これを実行することができます知っています。
感謝のMySQLでは
あなたは
where some_column REGEXP '[abc].*'
正規表現を使用することができますMySQLは同じ構文に従います。ワイルドカードに%を使用するか、または?単一文字:代わり
SELECT * FROM `table` WHERE `column` LIKE 'a%' OR `column` LIKE 'b%'...
、あなたは、MySQLでREGEXPを使用することができますが、データを照会するために、インデックスを使用することができないとして、それはパフォーマンスヒットが発生します。
SELECT LIKE 'a%'
クエリでは、インデックスを使用してAで始まるすべてのアイテムを検索し、効率的にそれらを返すことができます。 REGEXPを使用すると、各アイテムの行スキャンが発生し、パフォーマンスに大きな影響があります。