2

WHERE関数の一部を無視するSQLクエリがあります。

SELECT col1, col2, col3, col4
FROM table
WHERE col1 = 'yes'
AND col2 = 'no'
AND col3 || col4
LIKE '%maybe%'

最後のAND関数がないと正しい行が返されますが、LIKE関数があれば。に「no」が含まれる行が返されcol1ます。

4

2 に答える 2

6

私はあなたがその声明を配布するつもりであると推測するつもりですLIKE-その場合あなたは望む:

SELECT col1, col2, col3, col4
FROM table
WHERE col1 = 'yes'
AND col2 = 'no'
AND (col3 LIKE '%maybe%'  OR col4 LIKE '%maybe%')
于 2013-03-18T16:11:15.187 に答える
1

col3とを連結する場合col4、mysqlの正しい構文はCONCAT関数を使用することです。

SELECT
  col1, col2, col3, col4
FROM
  table
WHERE
  col1 = 'yes'
  AND col2 = 'no'
  AND CONCAT(col3, col4) LIKE '%maybe%'

|| OR演算子です。

こちらのフィドルをご覧ください。

于 2013-03-18T16:09:07.467 に答える