シンプルな CASE WHEN 関数:ケーススコアが「A」の場合は「優秀」、そうでない場合は「不合格」で終了 CASE スコアが「B」の場合は「良好」、そうでない場合は「不合格」で終了 CASE スコアが「C」の場合は「中」、そうでない場合は「不合格」で終了 これは、CASE WHEN 条件式関数を使用するのと同じです。スコアが「A」の場合、「優秀」 スコアが「B」の場合、「良好」 スコアが「C」の場合は「中」、そうでない場合は「不合格」で終了 THEN の後の値は ELSE の後の値と同じ型である必要があります。そうでない場合はエラーが報告されます。次のように:CASE スコアが「A」の場合は「優秀」、それ以外の場合は 0 終了 「Excellent」と 0 のデータ型が一致しない場合は、エラーが報告されます。 [エラー] ORA-00932: 矛盾したデータ型: CHAR が必要ですが、NUMBER です 単純な CASE WHEN 関数では、いくつかの単純なビジネス シナリオしか処理できませんが、CASE WHEN 条件式の記述ルールはより柔軟です。 CASE WHEN 条件式関数: JAVA の IF ELSE ステートメントに似ています。 形式: CASE WHEN 条件 THEN 結果 [いつ...それから...] ELSE 結果 終わり condition はブール型を返す式です。式が true を返す場合、関数全体は対応する結果の値を返します。すべての式が false の場合、ElSE 後の結果の値が返されます。ELSE 句が省略されている場合は、NULL が返されます。 以下に一般的なシナリオをいくつか示します。
選択 学生名、 (スコアが60未満の場合は「不合格」となります) スコアが60以上かつスコアが80未満の場合は「合格」 スコアが80以上の場合、「優秀」 ELSE '例外' END) AS REMARK から テーブル 注意: スコアが null かどうかをチェックしたい場合、WHEN score = null THEN '試験に欠席' という書き方は正しくありません。正しい書き方は次のとおりです。 スコアがNULLの場合、「試験に欠席」、それ以外の場合は「正常」、終了
テーブル構造は次のとおりです: STU_SEX フィールドでは、0 は男の子を表し、1 は女の子を表します。
選択 SUM (CASE WHEN STU_SEX = 0 THEN 1 ELSE 0 END) AS MALE_COUNT、 SUM (CASE WHEN STU_SEX = 1 THEN 1 ELSE 0 END) AS FEMALE_COUNT、 SUM (STU_SCORE >= 60 かつ STU_SEX = 0 の場合は 1、それ以外の場合は 0 終了) AS MALE_PASS、 SUM (STU_SCORE >= 60 かつ STU_SEX = 1 の場合は 1、それ以外の場合は 0 終了) AS FEMALE_PASS から 学生 出力は次のようになります。
エネルギー消費表は次のとおりです。E_TYPEはエネルギー消費タイプを表し、0は水消費、1は電気消費、2は熱消費を表します。
選択 E_コード、 SUM(CASE WHEN E_TYPE = 0 THEN E_VALUE ELSE 0 END) AS WATER_ENERGY、--水の消費量 SUM(CASE WHEN E_TYPE = 1 THEN E_VALUE ELSE 0 END) AS ELE_ENERGY、--電気の消費量 SUM(CASE WHEN E_TYPE = 2 THEN E_VALUE ELSE 0 END) AS HEAT_ENERGY、--熱の消費量 FROM エネルギーテスト グループ化 E_コード 出力は次のようになります。
価格表は以下の通りです。
エネルギー消費値が 10 未満の場合は、P_LEVEL=0 のときの P_PRICE 値が使用されます。エネルギー消費値が 10 より大きく 30 未満の場合は、P_LEVEL=1 のときの P_PRICE 値が使用されます。 エネルギー <= (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 0) の場合、(SELECT P_PRICE FROM TABLE_PRICE WHERE P_LEVEL = 0) エネルギー > (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 0) かつ エネルギー <= (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 1) の場合、(SELECT P_PRICE FROM TABLE_PRICE WHERE P_LEVEL = 1) エネルギー > (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 1) かつ エネルギー <= (SELECT P_LIMIT FROM TABLE_PRICE WHERE P_LEVEL = 2) の場合、(SELECT P_PRICE FROM TABLE_PRICE WHERE P_LEVEL = 2)
CASE WHEN 関数は使い方が簡単で、理解しやすい関数です。この記事では使い方について簡単に紹介しただけです。実際の業務では、さまざまなビジネス シナリオに応じて柔軟に使用する必要があります。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: HTML は CSS スタイルと JS スクリプトを動的に読み込みます。例
>>: Layuiはログインインターフェース検証コードを実装します
1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...
クリック時に背景色を生成する要素の CSS スタイルに次のコードを追加します。 -webkit-ta...
この記事のシナリオと組み合わせて、Nginx と Java 環境 (SpringBoot プロジェク...
JD カルーセルは、動的な効果を追加せず、主に位置決めの知識を使用して、純粋な HTML と CS...
さらに興味深いコンテンツについては、https://github.com/abc-club/free...
みなさんこんにちは。私と同じように混乱している方はいらっしゃいませんか。CSS は簡単に始められます...
1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...
Linux には、2 種類のファイル接続があります。1 つは Windows のショートカットに似て...
Alibaba Cloud ServerがFTPに接続できないFileZilla 425 データ接続...
序文Nginx は、イベント駆動型の非同期非ブロッキング処理フレームワークを使用する軽量 HTTP ...
序文Web 上でオンライン コード コンパイルの効果を実現したい場合は、 CodeMirrorを再度...
目次1. 三項演算子の判定2. 動的に設定されるクラス3. 方法判定4. 配列バインディング5. e...
袋を用意するインストールApacheがすでにインストールされているかどうかを確認するrpm -qa ...
目次序文矢印関数一般的な配列操作をマスターするスプレッド演算子オブジェクトの省略形構造化割り当てデー...
ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...