このクエリがあります
SELECT column1 FROM Table1 WHERE column1 LIKE CONCAT('%', :regex, '%') OR (column2 IS NOT NULL AND column2 LIKE CONCAT('%', :regex, '%')
のレコードがwhere 句column1
を満たす場合、常に値を返します。しかし、私が望むのは、where 句の最初の部分が満たされている場合Table1
はクエリが値を返し、2 番目の部分が満たされている場合は値を返すことです。この結果を得るには、クエリをどのように変更すればよいですか?column1
LIKE CONCAT('%', :regex, '%')
column2
(column2 IS NOT NULL AND column2 LIKE CONCAT('%', :regex, '%')