4

作成しようとしているクエリがあります。これは、不要な文字を含まないすべての行をプルすることになっています。

SELECT NID FROM NOTES WHERE NOTE LIKE '%[^0-9a-zA-Z#.;:/^\(\)\@\ \  \\\-]%'

これは、を含まない行を返す必要があります

0-9 a-z A-z . : ; ^ & @ \ / ( ) #

しかし、これらのいずれかを以下に追加すると、失敗します

$ [ ] ?

\または[[のいずれかでそれらをエスケープしようとしても、正しく機能していないようです。私はストックSQLインストールにしかアクセスできません。

4

1 に答える 1

5

不要な文字を含まないすべての行をプルすることになっています。

を含む 行を見つけるには、x次を使用できますLIKE

SELECT * FROM yourtable WHERE col LIKE '%x%'

を含まない 行を検索するには、x次を使用できますNOT LIKE

SELECT * FROM yourtable WHERE col NOT LIKE '%x%'

したがって、何かを含まないNOT LIKE行が必要なため、クエリで使用する必要があります。

SELECT NID FROM NOTES WHERE NOTE NOT LIKE '%[0-9a-zA-Z#.;:/^\(\)\@\ \  \\\-]%'

これは、を含まない行を返す必要があります

0-9 a-z A-z . : ; ^ & @ \ / ( ) #

いいえ。先頭がであるため、 。以外の文字を^含まない行を返します。リストした文字は、許可されている文字です。

于 2012-06-26T20:49:25.280 に答える