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 のテクニックと例の概要

推薦する

Docker で onlyoffice をインストールして展開する詳細なプロセス

0. システム要件CPU I5-10400F以上メモリ 16 GB、32 GBのメモリが最適ハードド...

MySQLからHiveにさらにデータをインポートするためのソリューション

元の派生コマンド: bin/sqoop インポート -connect jdbc:mysql://19...

Linux での MySQL 5.6 バイナリのインストール プロセス

1.1 バイナリインストールパッケージをダウンロードするhttps://dev.mysql.com/...

VUE ユニアプリライフサイクルに関する簡単な説明

目次1. アプリケーションライフサイクル2. ページのライフサイクルコンポーネントライフサイクル要約...

純粋な CSS を使用して 3D 回転効果を実装するサンプル コード

3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...

CSS スティッキーフッター実装コード

この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...

Docker を使用して Spring Boot をデプロイする方法

Docker テクノロジの開発により、マイクロサービスの実装にさらに便利な環境が提供されます。Doc...

Docker デプロイメント MySQL8 クラスター (マスター 1 台とスレーブ 2 台) の実装手順

目次1. CentOS 7.9 20にDockerをインストールする2. MySQL クラスターをデ...

純粋なCSSでデジタルプラスとマイナスボタンを実装するための最適なソリューション

序文:デジタル加算ボタンと減算ボタンの実装には、次のような多くのソリューションがこれまでに使用されて...

MySQL 学習ノート: データ エンジン

現在のデータベースでサポートされているエンジンを表示します エンジンを表示 +-----------...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

Linuxのseqコマンドを使用して数字のシーケンスを生成します(推奨)

Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れてい...

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

MySQL の最適化: サブクエリの代わりに結合を使用する

サブクエリの代わりにJOINを使用するMySQL はバージョン 4.1 以降で SQL サブクエリを...