2

LIKE 演算子を使用した特定の SQL 形式に関するドキュメントが見つからないようです。MySQL を使用すると、LIKE 演算子を使用した複数の単語に対する典型的なクエリは次のようになります。

SELECT * from table AS t WHERE t.col LIKE '%word1%' AND t.col LIKE '%word2%'

次のステートメントも機能しますが、返される行は、クエリ内の単語の順序によって異なります。例えば:

SELECT * from table WHERE col LIKE '%word1%' '%word2%'

AND ブール値なしで実行されますが、次の結果とは異なります。

SELECT * from table WHERE col LIKE '%word2%' '%word1%'

私の質問は、ブール値を使用する代わりにこの形式のクエリを使用すると、実際に何が起こっているのでしょうか?

4

1 に答える 1

7

マニュアルから:

隣り合って配置された引用符で囲まれた文字列は、1 つの文字列に連結されます。次の行は同等です。

'a string'

'a' ' ' 'string'

つまり、'%word1%' '%word2%'「%word1%%word2%」と解釈されています。

于 2012-06-21T13:00:06.200 に答える