テーブルの下にmemo
という列があります。私は「PAYROLL」のようなキーワードを使ってメモを探していますが、「PAY」という単語は含まれていません。SQLワイルドカードの選択
SELECT DISTINCT memo FROM transaction WHERE memo LIKE '%PAYROLL%'
上記のクエリでは、「メモ」内に「支払い」があるメモしか見つかりませんでした。ただし、「支払い」をどのように除外できますか?これはまた、単語PAY
が含まれていないサブPAYROLL
を含むメモを見つけるでしょう
SELECT DISTINCT memo
FROM transaction
WHERE memo LIKE '%PAYROLL%' AND
memo NOT LIKE 'PAY %' AND
memo NOT LIKE '% PAY %' AND
memo NOT LIKE '% PAY'
:
'AND memo <> 'PAY''?あなたはこれを必要とすべきではありません - 'LIKE'ステートメントはすでにそれをフィルタリングします。 – Siyual
実際にあなたは 'PAY'だけでレコードを選択することはありません –
PAYは最後にできますか?' 'PAY ''を除外することができますが、フレーズがそれで終わるとスペースはありませんここでsinleの単語を一般化する方法は明確ではない –