コアコード /*-------------------------------- 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コマンドの詳細な説明
カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成すること...
序文: Vue3.0はechartsの3次元縦棒グラフを実装します結果: 実装手順: 1. echa...
この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...
色はウェブサイト訪問者に影響を与えますか?数年前までは、ウェブサイトはまだ贅沢品でしたが、今ではほと...
目次1. はじめに2. フィルター() 3. マップ() 4. ソート() 5. 減らす() 6. ...
Dockerタグの詳しい説明docker tag コマンドの使い方と、ローカルイメージを daocl...
目次複数の条件文複数属性オブジェクトスイッチステートメントを置き換えるデフォルトパラメータとデストラ...
目次[例を見る]: 【本来の効果は以下の通り】理由は次のとおりです。 【解決】:要約するBootSt...
Web アプリケーション クラス1. みんなのためにダウンまたは私だけのためにこのウェブサイトは、ウ...
私の最初のサーバープログラム現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラ...
まずは見てみましょう。 HTML ソースコード: XML/HTML コードコンテンツをクリップボード...
両側に隙間なし、各列間に隙間あり 幅: 100%; 表示: グリッド; グリッドテンプレート列: r...
この記事では、CSS ワープ シャドウの実装コードを紹介し、皆さんと共有します。詳細は以下の通りです...
この記事では、VMware Workstation 14 Pro (仮想マシン) にシステムをインス...
H5 レイアウトを設計する場合、通常はバナーに遭遇することになります。例えば、2:1 で表示したい場...