コアコード /*-------------------------------- 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コマンドの詳細な説明
この記事の例では、メモ帳機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的...
目次序文1. 全員にインストールパッケージを用意する2. Navicatをインストールし、Navic...
Docker を初めて使い始めると、通常とは異なる問題に遭遇して、必然的に混乱してしまいます。大丈夫...
インターフェースの役割:インターフェース (英語: interface) の機能は、簡単に言えば、コ...
Dockerエラー1. 原因を確認するdocker ログ ネクサス2. エラーの原因OpenJDK ...
序文MySQL データベースの文字列型は、CHAR、VARCHAR、BINARY、BLOB、TEXT...
コンセプトインデックスにクエリ要件を満たすすべてのデータが含まれている場合、それはカバーリング イン...
序文Nginxの組み込みモジュールは、同時リクエスト数の制限とリクエストのソースの制限をサポートして...
この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...
01. コマンドの概要実際には、locate コマンドは find -name の別の書き方ですが、...
1. いつsetUpを実行するかvue3 ではメソッドを正常に使用できるようになったことは誰もが知っ...
序文Intel のハイパースレッディング テクノロジーにより、1 つの物理コア上で 2 つのスレッド...
HTMLのdivブロックを使用していて、ブロックの中央をしっかりと接続できず、解決できない場合1. ...
目次導入ログ分類パラメータファイルエラーログファイル完全なログファイルスロークエリログバイナリログフ...
VMware の準備 CentOS の準備、こちらは CentOS 7.3 CentOS-7-x86...