シンプルな 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. 依存パッケージをインストールする yum -y インストール gcc-c++ ncurses-...
この記事では、MySQL 8.0.24のインストールチュートリアルを参考までに紹介します。具体的な内...
最近はMySQLのメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...
% ワイルドカードを使用すると、インデックス失敗の問題が発生することがよくあります。ここでは、lik...
目次序文1. 従来のVueコンポーネント1. メインコンポーネントコード: 2. 使用方法3. 成果...
この記事では、MySql のインデックス、ロック、トランザクションに関する知識のポイントをまとめてい...
CSS3 border-image プロパティを使用すると、要素の周囲に画像の境界線を設定できます。...
1. mysqlにログインします。 mysql -u ルート -h 127.0.0.1 -p 2. ...
Linux C/C++ では、スレッド レベルの操作は通常、pthread ライブラリを通じて実行さ...
日々の開発で遭遇した様々な問題と、その解決策を閲覧しながら、日々の開発でよく使用するスキルや知識ポイ...
セットアップは、結合された API を記述するために使用されます。テンプレートが使用できるようにする...
今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...
最近、 Three.jsでReactを使用して、720 度のパノラマ写真を閲覧できるプロジェクトを構...
Vue プラグインがエラーを報告しました: このページで Vue.js が検出されましたVueプラグ...
序文この記事では、docker-compose と dockerfile を使用して、binlog ...