1: 文字列を区切るためのストアドプロシージャを定義する 区切り文字 $$ `mess`$$ を使う 存在する場合はプロシージャを削除します `splitString`$$ CREATE DEFINER=`root`@`%` PROCEDURE `splitString`(IN f_string VARCHAR(1000),IN f_delimiter VARCHAR(5)) 始める cnt INT をデフォルト 0 として宣言します。 i INT DEFAULT 0 を宣言します。 SET cnt = func_get_splitStringTotal(f_string,f_delimiter); `tmp_split` が存在する場合はテーブルを削除します。 一時テーブル `tmp_split` を作成します (`val_` VARCHAR(128) NOT NULL) DEFAULT CHARSET=utf8; i < cnt の場合 する i = i + 1 を設定します。 tmp_split(`val_`) VALUES (func_splitString(f_string,f_delimiter,i)) に INSERT します。 終了しながら; 終わり$$ 区切り文字 ; 2: func_get_splitStringTotal 関数を実装します。この関数は、分離後の長さを計算するために使用されます。ここで知っておく必要がある関数は次のとおりです。 REPLACE(文字列、元の文字列、置換後の文字列) 文字列 str のすべての出現箇所を文字列 to_str に置き換えた文字列を返します。REPLACE() は、from_str の検索時に大文字と小文字を区別した一致を実行します。 例えば: mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww'); -> 'WwWwWw.mysql.com' 具体的な実装: 区切り文字 $$ `mess`$$ を使う `func_get_splitStringTotal`$$ が存在する場合は関数を削除します CREATE DEFINER=`root`@`%` FUNCTION `func_get_splitStringTotal`( f_文字列 VARCHAR(10000)、f_区切り文字 VARCHAR(50) ) はINT(11)を返します。 始める 1+(LENGTH(f_string) - LENGTH(REPLACE(f_string,f_delimiter,'')) を返します。 終わり$$ 区切り文字 ; 3: func_splitString 関数を実装します。これは、分離後の各ループの値を取得するために使用されます。ここで知っておく必要がある関数は次のとおりです。 (1) 逆(str) 文字の順序を逆にした文字列 str を返します。 たとえば、mysql> SELECT REVERSE('abc'); -> 'cba' (2) SUBSTRING_INDEX(文字列、区切り文字、カウント) 文字列 str から、区切り文字 delim が count 回出現する前の部分文字列を返します。count が正の場合、最後の区切り文字の左側 (左から数えて) にあるすべての文字列が返されます。count が負の場合、最後の区切り文字の右側 (右から数えて) にあるすべての文字列が返されます。SUBSTRING_INDEX() は、delim を検索するときに大文字と小文字を区別して一致を実行します。 例えば: mysql> SUBSTRING_INDEX('www.mysql.com', '.', 2)を選択します。 -> 'www.mysql' mysql> SUBSTRING_INDEX('www.mysql.com', '.', -2)を選択します。 -> 'mysql.com' 具体的な実装: 区切り文字 $$ `mess`$$ を使う `func_splitString`$$ が存在する場合は関数を削除します CREATE DEFINER=`root`@`%` FUNCTION `func_splitString`( f_string VARCHAR(1000),f_delimiter VARCHAR(5),f_order INT) RETURNS VARCHAR(255) CHARSET utf8 始める 結果をVARCHAR(255) DEFAULT ''と宣言します。 結果 = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(f_string,f_delimiter,f_order)),f_delimiter,1)); を設定します。 結果を返します。 終わり$$ 区切り文字 ; 使用: (1)ストアドプロシージャの呼び出し: splitString('1,3,5,7,9',','); を呼び出します。 (2)一時テーブルを表示する val_ を tmp_split から t1 として選択します。 結果: これで、カンマ区切りのmysql split関数の実装に関するこの記事は終わりです。より関連性の高いmysql split カンマ区切りのコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Docker での Tomcat インストールの 404 問題の解決方法
>>: CentOS7.5 MySQLのインストールチュートリアル
tomcat サーバーの構成誰もが Web について学習するときに、自分のツール用に Tomcat ...
導入:スライダー ドラッグ検証は現在、多くの場所で使用されています。週末に 1 つ作成しようと思い、...
ドキュメントはしばらく前から書いていましたが、アップロードする勇気がありませんでした。サーバーのセキ...
MySQLデータベースの保存場所: 1. MySQLがMyISAMストレージエンジンを使用する場合...
Web フロントエンド開発のプロセスでは、UI デザイナーはグラデーション テキストを使用したデザイ...
序文JS の型付けが弱く、記述基準が緩く、開発ツールのサポートが弱いため、前任者のコードをメンテナン...
TabIndex は、Tab キーを押して、定義された TabIndex 要素を順番に取得し、各要素...
キー修飾子キーボード イベントをリッスンする場合、詳細なキーを確認する必要があることがよくあります。...
1. 別名の使用alias コマンドは、コマンドのエイリアスを設定するために使用されます。このコマン...
目次1. BOMの紹介1. JavaScriptは3つの部分から構成される2.ウィンドウオブジェクト...
目次Nginx は 2 つの socket.io サーバーをプロキシします。 socket.ioの動...
目次1. はじめに2. 再帰3. コールバック関数3.1 匿名コールバック関数3.2 パラメータ付き...
序文この記事を書いた主な理由は、チームリーダーが、ブラウザを使用してコンピューターのカメラを呼び出し...
1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...
1. コマンドの紹介cal (カレンダー) コマンドは、現在の日付または指定された日付のグレゴリオ暦...