MySQLで判定文を書く方法のまとめ

MySQLで判定文を書く方法のまとめ

MySQL で判断文を書く方法:

方法1. CASE関数

case関数の構文:

CASE条件
値1の場合、値1が返される
値2の場合、値2を返す
値3の場合、値3が返される
…
ELSE デフォルト値
終わり

例:

SELECT username,(CASE sex WHEN 1 THEN '男性' WHEN 2 THEN '女性' ELSE '不明' END) as sex FROM user;

クエリ結果は次のとおりです。

e08a6ceb7c5f565e980547c90d0981c.png

方法2. IF()関数

CASE 関数は、非常に複雑な論理判断を実装できます。条件が満たされている場合は A、そうでない場合は B などの単純な判断ロジックを実装すると、CASE 関数が肥大化して見えるようになります。 MYSQL は、このような論理的判断を簡素化するために IF() 関数を提供しています。その構文形式は次のとおりです: IF(条件,A,B)

条件が真であれば A を返し、そうでない場合は B を返します。したがって、条件が複数ある場合は、IF 関数は使用できません。 IF() は数値または文字列を返します。

select username,if(sex=1,'男','女') as sex from user;

クエリ結果は次のとおりです。

57558ec379007199e539b0a2a063727.png

ご覧のとおり、条件では sex=1 が男性で、その他は女性であるため、ユーザー名 zhangsan は女性として表示されます。したがって、IF 関数は 2 つの状況を判断するためにのみ使用されます。 MySQL には IFNULL(value1, value2) 関数もあり、これは通常 NULL 値を置き換えるために使用されます。NULL 値は数値演算に参加できないことはご存じのとおりです。

方法3. 文字列操作 ELT()

文法:

ELT(N,文字列1,文字列2,文字列3,...)

N = 1 の場合は str1 を返し、N = 2 の場合は str2 を返します。 N が 1 未満または引数の数より大きい場合は、NULL を返します。

SELECT username,ELT(sex,'男','女','未知') as sex FROM user

クエリ結果は次のとおりです。

2cb2e8899c8d85f8f8c7feeb24b90ae.png

コンテンツ拡張子:

mysql 条件文

たとえば、ビジネス シナリオでは、ユーザーには複数の状態 (1: 有効、2: 無効、3: その他) があり、クエリには条件ステートメントが必要です。

文法:

CASE フィールド WHEN `条件 1` THEN `結果 1`
 `条件 2` のとき、`結果 2`
 いつ ...
 ELSE `その他の結果`
終わり

例:

SELECT ID,名前,
(CASEステータス
	1 の場合、「有効」 
	2 の場合、「無効」 
それ以外の場合 
END) ASステータス 
ユーザーより

MySQL での判定文の書き方をまとめたこの記事はこれで終わりです。MySQL での判定文の書き方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLはshow statusを使用してMySQLサーバーのステータス情報を表示します。
  • MySQLでテーブル情報を取得する方法 テーブルステータスの表示
  • MySQL テーブルを作成するためによく使用される SQL ステートメントの概要
  • MySQLのUPDATE文の落とし穴を記録する
  • Navicat PremiumはMySQLデータベースを操作します(SQL文を実行します)
  • 2 つの MySQL ユーザー削除ステートメント (delete user と drop user) の違い
  • MySQL データベースのステートメント ワイルドカード ファジー クエリの概要
  • MySQLデータの重複チェックと重複排除の実装ステートメント
  • MySQL でよく使われる連結文のまとめ
  • MySQL SHOW STATUSステートメントの使用

<<:  Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策

>>:  一般的な Nginx のテクニックと例の概要

推薦する

MySQL count(1)、count(*)、count(field)の違い

目次1. COUNTの初見2. COUNT(フィールド)、COUNT(定数)、COUNT(*)の違い...

vuex の補助関数 mapGetters の基本的な使い方の詳細な説明

mapGettersヘルパー関数mapGettersヘルパー関数は、ストア内のゲッターをローカルの計...

Reactプロジェクトで画像を導入するいくつかの方法

imgタグは画像を導入しますreactは実際にはjsリーダー関数を介してページをレンダリングするため...

MySQL でサーバーのインストールを開始できない場合の解決策について簡単に説明します。

コンピュータに初めて MySQL をインストールする場合、通常このエラー メッセージは表示されません...

win10 での mysql 8.0.16 winx64 インストールの最新グラフィック チュートリアル

このデータベースをダウンロードするには、多くの時間とトラフィックがかかります。踏み込んだ落とし穴で時...

MySQL の中国語文字化け問題の解決方法

1. LinuxのMySQLで中国語の文字化けが発生する。以下の操作を実行する。 vi /etc/m...

HTML インライン要素と HTML ブロックレベル要素の概要と違い

ブロックレベル要素の機能: • 常に新しい行から始まり、それ自体で 1 行を占め、後続の要素も新しい...

Tomcatにデプロイされたアプリケーションがフロントエンドページにアクセスできない問題について

最近、実践的なトレーニング プロジェクトを実行する際に ssm フレームワークを使用しました。プロジ...

ウェブページ制作TDは隠し表示もオーバーフロー可能

おそらく、この記事にこのようなタイトルを付けると、誰かがこう尋ねるでしょう。「なぜまだテーブルに注目...

mysql インストーラ ウェブ コミュニティ 5.7.21.0.msi インストール グラフィック チュートリアル

この記事の例では、Androidの9グリッド画像を表示するための具体的なコードを参考までに共有してい...

Redmine の Docker インストール手順

イメージをダウンロードします(オプションの手順です。省略した場合は、手順 3 と 4 で自動的にイン...

フォームのデフォルトの送信方法を変更する方法

htmlのデフォルトの送信方法は、postではなくgetです。postに変更したい場合は、 meth...

v-model 双方向バインディングデータを実装する vue カスタム コンポーネントのサンプル コード

プロジェクトでは、プロジェクトが呼び出すカスタム パブリック コンポーネントに遭遇します。通常、pr...

49 個の JavaScript のヒントとコツ

目次1. js整数の演算2. ネイティブアラートを書き換えてポップアップボックスの数を記録する3. ...

Reactでのこのリファレンスの詳細な説明

目次原因:以下を実行します: 1. コンストラクター2.レンダリング機能3.bind関数とarrow...