コアコード /*-------------------------------- 2つ以上のフィールドがNULLであるレコードt1を検索します。 id、id1、id2、id3、id4、id5、id6 t1 テーブルにはフィールドがあります。 ここで、id は主キーです。 1 つ以上のフィールドが NULL であるレコード ID を印刷するにはどうすればよいでしょうか? さらに、保存プロセス中にレコードを 1 つずつ順番に読み取る最も便利な方法は何ですか? 注: 主キー ID には順序がなく、文字列になる場合もあります。 -----------------------------------------*/ 存在する場合はテーブル t1 を削除します。 テーブル t1(id int、id1 int、id2 int、id3 int、id4 int、id5 int、id6 int) を作成します。 挿入t1選択 1,1,1,1,1,null,null 結合 すべて選択 2、null、null、null、1、2、3 結合すべて選択 3,1,2,3,4,5,6 すべて結合選択 4,1,2,3,4,5,null 結合すべて選択 5、null、3、4、null、null、null ; 区切り文字 $$ プロシージャ usp_c_null() を作成する 始める n_c int を宣言します。 idd int を宣言します。 curカーソルを宣言する id を選択し、case char_length(concat(ifnull(id1,'@'),ifnull(id2,'@'),ifnull(id3,'@'),ifnull(id4,'@'),ifnull(id5,'@'),ifnull(id6,'@'))) - char_length(replace(concat(ifnull(id1,'@'),ifnull(id2,'@'),ifnull(id3,'@'),ifnull(id4,'@'),ifnull(id5,'@'),ifnull(id6,'@')),'@','') ) 6 の場合、6、5 の場合、5、4 の場合、4、3 の場合、3、2 の場合、2、1 の場合、1、それ以外の場合は 0、t1 から c として終了。 見つからない close cur の終了ハンドラを宣言します。 オープンカー; 繰り返す cur を idd,n_c にフェッチします。 n_c>=2の場合 id=idd の場合、t1 から * を選択します。 終了の場合; 0 まで繰り返します。 クローズカー; 終わり ; $$ 区切り文字 ; /* +------+------+------+------+------+------+------+ | id | id1 | id2 | id3 | id4 | id5 | id6 | +------+------+------+------+------+------+------+ | 1 | 1 | 1 | 1 | 1 | NULL | NULL | +------+------+------+------+------+------+------+ セット内の1行(0.10秒) +------+------+------+------+------+------+------+ | id | id1 | id2 | id3 | id4 | id5 | id6 | +------+------+------+------+------+------+------+ | 2 | NULL | NULL | NULL | 1 | 2 | 3 | +------+------+------+------+------+------+------+ セット内1列(0.14秒) +------+------+------+------+------+------+------+ | id | id1 | id2 | id3 | id4 | id5 | id6 | +------+------+------+------+------+------+------+ | 5 | NULL | 3 | 4 | NULL | NULL | NULL | +------+------+------+------+------+------+------+ セット内1列(0.17秒) */ 以下もご興味があるかもしれません:
|
<<: JavaScript の for ループと二重 for ループの詳細な説明
>>: 一般的なDocker Composeコマンドの詳細な説明
著者 | 編集者 Awen | 制作 Tu Min | CSDN (ID: CSDNnews)不満を...
目次概要(ループモード - 共通)配列と非同期メソッドを宣言して反復するforループで使用するマップ...
目次序文オンラインXMLエディタの必要性テクノロジー事前調査ビジュアルプログラミングVSCODEプラ...
MySQL ifnull のネストされた使用ifnull をネストする方法があるかどうかオンラインで...
MySQL は、異なるユーザーに異なる権限を割り当てることができるマルチユーザー管理データベースであ...
純粋なCSS3で蝶が羽ばたく様子を再現。まずはその効果をご覧ください どうですか?効果はかなりいいで...
1. InnoDBのロック機構InnoDB ストレージ エンジンは、行レベルのロックとトランザクショ...
MySQL 一貫性ログMySQL データベースの電源が切れた場合、コミットされていないトランザクシ...
コード <div class="test"> <div>...
昨日、円形のプログレスバー (Vue 円形プログレスバーを参照してください) についてブログを書きま...
最近、Docker がコンテナの起動時に特定のプロセスを直接実行できるようにする方法を調べていたとこ...
レイアウトにul>liを使用した単一行レイアウトを以下に示します。 <ul class=...
この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...
ページ内の a タグをクリックした後、ページ内の対応する場所にジャンプするようにします。方法は非常に...
Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...