タグ付けされた質問 「condition」

5
条件の論理演算子OR ANDおよびWHEREの条件の順序
これらの2つのステートメントを調べてみましょう。 IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... 場合はCONDITION 1、IS TRUE、だろうCONDITION 2チェックしますか? 場合はCONDITION 3、IS FALSE、だろうCONDITION 4チェックしますか? 条件についてはどうですかWHERE:SQL ServerエンジンはWHERE句内のすべての条件を最適化しますか?SQL Serverオプティマイザーが条件を正しい方法で解決するために、プログラマは条件を正しい順序で配置する必要がありますか? 追加: リンクを提供してくれたジャックに感謝します。t-sqlコードからの驚きです。 IF 1/0 = 1 OR 1 = 1 SELECT 'True' AS result ELSE SELECT 'False' AS result IF 1/0 = 1 AND …

2
NOT(a = 1 AND b = 1)vs(a <> 1 AND b <> 1)
ではWHERE、SQLクエリの句私は、これら2つの条件が同じ振る舞いを持つことを期待します: NOT (a=1 AND b=1) 対 a&lt;&gt;1 AND b&lt;&gt;1 最初の条件は期待どおりに動作し、2番目の条件を実行して同じことを行いますが、そうではありません。 これは非常に基本的なことですが、恥ずかしいことに、私が間違っていることを見ることができません。
16 condition 


5
UNKNOWNを返すことができるブール式を反転します
例 テーブルがあります ID myField ------------ 1 someValue 2 NULL 3 someOtherValue そして、TRUE、FALSE、または(SQLの3値論理による)UNKNOWNに評価できるT-SQLブール式: SELECT * FROM myTable WHERE myField = 'someValue' -- yields record 1 他のすべてのレコードを取得する場合、式を単純に否定することはできません SELECT * FROM myTable WHERE NOT (myField = 'someValue') -- yields only record 3 なぜこれが発生するのか(3値論理)、この特定の問題を解決する方法を知っています。 私は使用できることを知ってmyField = 'someValue' AND NOT myField IS NULLおり、不明な結果を決してもたらさない「可逆」式を取得します。 SELECT * …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.