12

SQLクエリがありますSELECT * FROM table WHERE column LIKE '%pdd%'

問題は、「pdd」で始まるものを除くすべての結果を取得する必要があることです。つまり、「pdd」が先頭にないものをすべて見つける必要があります。どうすればそれができますか?

列の先頭にない場合は、「pdd」と一致させる必要があります。

4

4 に答える 4

22

「pdd」が先頭にある行を除いて、「pdd」に一致するすべての行を意味すると思います。

SELECT * FROM table WHERE column LIKE '_%pdd%'.

述語の「_」ワイルドカードは、正規表現の「」にLIKE相当する「任意の文字の1つ」を意味します。.

于 2009-12-16T22:24:48.707 に答える
5

私があなたの要件を正しく理解している場合、あなたが必要とするものは次のとおりです。

SELECT * FROM table WHERE column LIKE '%pdd_%' and column NOT LIKE 'pdd_%'
于 2009-12-16T22:24:56.340 に答える
4
SELECT * FROM table WHERE column LIKE '%pdd%' AND column NOT LIKE 'pdd%'

これらのオカレンスがテーブルで発生する頻度に応じて、クエリを最適化できます。

于 2009-12-16T22:50:25.317 に答える
0

試す:

SELECT * FROM table WHERE column NOT LIKE 'pdd%'
于 2009-12-16T22:23:50.630 に答える