http://www.sql-ex.ru/でこのクイズを行いました。質問35は正確です。T-SQL、数値を検索
質問は次のとおりです。 製品表では、数字のみまたはラテン文字(A~Z、大文字と小文字を区別しない)のみで構成されるモデルを決定します。 結果セット:モデル、モデルのタイプ。
SELECT model,
type
FROM Product
WHERE Model NOT LIKE '%[^A-Z]%'
OR Model NOT LIKE '%[^0-9]%'
私はそれを動作させるために、二重否定が必要なのか、なぜ今私の質問は次のとおりです。
そして私はある正しい答えを与えました。 私はコードを書き換える場合:
SELECT model,
type
FROM Product
WHERE Model LIKE '%[A-Z]%'
OR Model LIKE '%[0-9]%'
私は間違った答えを得る: あなたのクエリが最初に(可能な)データベースの正しいデータセットを返されたが、それは第二の検査データベースに不正なデータセットを返されました。 *間違ったレコード数(37以上)
2番目の例では正しい答えが得られません。
私は答えは見つけようとしましたが運はありませんでした。説明に感謝します。
OKマーティンを使用することができ、二重否定を避けるために決定された場合は、あなたの答えのためにどうもありがとうございました – user3197410