序文 MySQL データベースでは、if else のような判断演算を使用することがあります。では、MySQL でこの要件をどのように処理すればよいのでしょうか? mysql 判定操作構文: case ..when 文 しかし、最近使用中に問題が発生しました。以下では多くは述べません。詳細な紹介を見てみましょう。 問題を直接述べます。 ID 番号を格納するテーブル id_card_message があります。テーブル構造とデータは次のとおりです (MySQL 5.7.14): mysql> id_card_message から * を選択します。 +------+--------------------+ | ID | IDカード番号 | +------+--------------------+ | 1 | 342513199411222515 | | 1 | 342624197812023498 | | 1 | 310908198910123348 | +------+--------------------+ ここで、ID カード番号の最後から 2 番目の桁に基づいて性別情報を表示したいと思います。次の SQL ステートメントを実行すると、対応するエラーが報告されます。 mysql> ケース substr(id_card_no,17,1) を選択 -> (1,3,5,7,9) の場合、「男」 -> (0,2,4,6,8) の場合、「女」は「セックス」を終了します。 -> IDカード番号 -> id_card_message から; エラー 1241 (21000): オペランドには 1 列が必要です エラーには次のように表示されます:オペランドには 1 つの列が含まれている必要があります。ここでの唯一の疑いは、when 節の後の括弧内に値が多すぎることです。この場合、when 構造では、when 節の後には 1 つの値しか出現できないのでしょうか?以下の公式ドキュメントのセクション 13.6.5.1 の case 構文を確認しましたが、これについては説明がないようです。 もちろん、ステートメントの形式を変更することで、必要なデータを取得することもできます。次のように: mysql>選択 -> ケース -> substr(id_card_no,17,1) が (1,3,5,7,9) の場合、 '男' -> substr(id_card_no,17,1) が (0,2,4,6,8) 内にある場合、'女' は 'sex' となります。 -> IDカード番号 -> id_card_message から; +------+--------------------+ | 性別 | IDカード番号 | +------+--------------------+ | 男性 | 342623199610222515 | | 男性 | 342624197812023498 | | 女性 | 310908198910123348 | +------+--------------------+ 現在の考え方では、「CASE 値 WHEN 比較値」の形式では、when 句の後の比較値は単一の値のみであり、複数の値に接続することはできません。たとえば、上記の比較値には 1、3、5、7、9 という値があります。この場合、上記の SQL のみ使用できます。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: Vuex データの永続性を実装するためのアイデアとコード
1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有...
この記事では、mysql8.0.11クライアントがログインできない問題の解決策を紹介します。参考まで...
1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...
重要なポイント: 1. CSS3 3Dアニメーションをマスターする2. ページめくり後のページ内容の...
1. DDLアトミック性の概要8.0 より前は、統一されたデータ ディクショナリ dd はありません...
今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...
この記事では主に、CSS3 フレックスレイアウトを使用して要素を均等に配置する方法を紹介します。自分...
テキストカルーセルは私たちの日常生活で非常に一般的です。スーパーマーケットや実店舗の入り口には、テキ...
ローカル データベースがサーバー データベースに接続されているときに発生する 1045 の問題を解決...
フロントエンドは、技術が急速に進化するだけでなく、知っておくべき事柄が多すぎるという理由で大変な仕事...
ここで、アンカー ポイントを制御するいくつかの状況をまとめてみましょう。 1. 同じページ <...
前書き: 以前、公式の nginx proxy_cache を CDN 静的キャッシュとして使用して...
目次1. 概要1. 原則2. 実装3. スレーブインスタンスを作成する4. マスタースレーブ構成要約...
目次序文クイックレビュー: JavaScript 関数関数とは何ですか?関数を宣言する関数の呼び出し...
HTMLの動作原理: 1. ローカル操作: ブラウザでhtmlファイルを開く2. リモートアクセス...