[解決済み] SQLのWHERE句は短絡的に評価されるか?
2022-04-27 14:25:07
質問
SQLのWHERE句にブーリアン式は使えるか? 短絡的評価 ?
例えば、こんな感じです。
SELECT *
FROM Table t
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key)
もし
@key IS NULL
と評価されます。
true
である。
@key IS NOT NULL AND @key = t.Key
が評価されたのか?
ない場合は、なぜないのか?
もしそうなら、それは保証されているのでしょうか?それはANSI SQLの一部ですか、それともデータベース固有ですか?
データベース固有の場合、SQLServer?オラクル?MySQL?
解決方法は?
ANSI SQL Draft 2003 5WD-01-Framework-2003-09.pdf
<ブロッククオート6.3.3.3 ルール評価順序
[...]
形式や優先順位が決定されない場合は、以下のようになります。 括弧は、一般に、式の効果的な評価を行います。 は、左から右の順に実行されます。ただし 実装に依存する 式が実際に左から右へ評価されるかどうか、特にオペランドや演算子によって 条件を発生させる または、式の結果が のすべての部分を完全に評価することなく決定することができます。 式になります。
関連
-
ERROR 1136 (21S01) を解決してください。列の数が Mysql の行 1 の値の数と一致しません。
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] JOINとINNER JOINの違いについて
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] SQLのIN句をパラメータ化する
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] SQL JOIN - WHERE句とON句の比較
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] SQL/mysql - Select distinct/UNIQUE but return all column?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 1つのPostgreSQLクエリで複数のWITHステートメントを使用するには?
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] SQL ServerにおけるINSERT OR UPDATEに関する解決策
-
[解決済み] SQLiteデータベースで、一度に複数行を挿入することは可能ですか?
-
[解決済み] フラットテーブルをツリーにパースする最も効率的/エレガントな方法は何ですか?
-
[解決済み] SQLサーバーで行を列に効率的に変換する
-
[解決済み] Postgres でサブクエリを使用してテーブルの行を更新する
-
[解決済み] SQLではwhere句の順番は重要か?