序文注: テストデータベースのバージョンはMySQL 8.0です テストデータ: テーブルzqs(id int,str varchar(1000))を作成します。 insert into zqs(id,str) values (1,'【JD.com】abc【China Telecom】'); zqs(id,str) に値 (1,'【JD.com】abc【China Telecom】def') を挿入します。 zqs(id,str) に値 (1,'****【JD.com】abc【China Telecom】def') を挿入します。 zqs(id,str) に値 (1,'****【JD.com】abc') を挿入します。 insert into zqs(id,str) values (1,'【JD.com】abc【China Telecom】【China Unicom】'); 1. 需要SMS と同様の要件に遭遇することが多く、SMS タグ情報を抽出する必要がありますが、SMS タグが複数存在する場合があります。 この例では、タグは最大 3 つあり、次のように出力する必要があることを前提としています。 mysql> zqs から * を選択します。 ±-----±----------------------------------------------------+ | id | 文字列 | ±-----±----------------------------------------------------+ | 1 | 【JD.com】abc【中国電信】 | | 1 | 【JD.com】abc【中国電信】def | | 1 | ****【JD.com】abc【中国電信】def | | 1 | ****【JD.com】abc | | 1 | 【JD.com】abc【中国電信】【中国聯通】 | ±-----±----------------------------------------------------+ 必要な出力は次のとおりです。 ±-------------±-------------------±-------------------+ | 最初の値 | 最初の va2 | 最初の va3 | ±-------------±-------------------±-------------------+ | 【JD.com】 | 【中国電信】 | | | 【JD.com】 | 【中国電信】 | | | 【JD.com】 | 【中国電信】 | | | 【JD.com】 | | | | 【JD.com】 | 【中国電信】 | 【中国聯通】 | ±-------------±-------------------±-------------------+ 2. 解決策Oracle の文字列インターセプト関数 substr と instr は一緒に使用できますが、MySQL の instr 関数は Oracle の instr 関数よりも弱いです。 このとき、MySQLの正規表現regexp_instr関数とsubstr関数を使用する必要があります。 substr(str, を選択) regexp_instr(str,'【',1,1), regexp_instr(str,'】',1,1) - regexp_instr(str,'【',1,1) + 1 ) first_val, サブストラクチャ(str, regexp_instr(str,'【',1,2), regexp_instr(str,'】',1,2) - regexp_instr(str,'【',1,2) + 1) first_va2, サブストラクチャ(str, regexp_instr(str,'【',1,3), regexp_instr(str,'】',1,3) - regexp_instr(str,'【',1,3) + 1) first_va3 zqs から; テストログ: mysql> substr(str, を選択) -> regexp_instr(str,'【',1,1), -> regexp_instr(str,'】',1,1) - regexp_instr(str,'【',1,1) + 1 ) first_val, -> substr(str, -> regexp_instr(str,'【',1,2), -> regexp_instr(str,'】',1,2) - regexp_instr(str,'【',1,2) + 1) first_va2, -> substr(str, -> regexp_instr(str,'【',1,3), -> regexp_instr(str,'】',1,3) - regexp_instr(str,'【',1,3) + 1) first_va3 -> zqs から; +--------------+--------------------+--------------------+ | 最初の値 | 最初の va2 | 最初の va3 | +--------------+--------------------+--------------------+ | 【JD.com】 | 【中国電信】 | | | 【JD.com】 | 【中国電信】 | | | 【JD.com】 | 【中国電信】 | | | 【JD.com】 | | | | 【JD.com】 | 【中国電信】 | 【中国聯通】 | +--------------+--------------------+--------------------+ セット内の行数は 5 です (0.00 秒) 要約するこれで、MySQL で固定されていない位置から文字列要素を抽出する方法についての記事は終了です。MySQL から文字列要素を抽出する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...
問題の説明長い間アカウントパスワードを入力して Zabbix にログインしていないため、管理者パスワ...
目次序文計算されたプロパティ計算プロパティの紹介入門ケース統計価格事例ゲッターメソッドとセッターメソ...
1. parseFloat() 関数Web ページ上に簡単な計算機を作成し、テキスト ボックスに ...
1. 一般的な使用法: (1)%で使用する% は 1 つ以上の文字のワイルドカードを表します。たとえ...
この読書ノートでは、主にファイルシステムに関連する操作を記録します。ディスクとディレクトリの容量ディ...
この記事では、ログインタイプの切り替えを実装するためのVueの具体的なコードを例として紹介します。具...
多くのウェブデザイナーは、ウェブページのレイアウトを設計する際に、インターフェースウェブページの幅に...
Linux オペレーティング システムは過去 20 年間にわたってデータ センターに革命をもたらし...
目次概要1. Refsオブジェクトの作成1.1 React.createRef() 1.2React...
前面に書かれた最近、ある読者から、ブラウザからサーバーにアクセスすると、画像の表示が遅く、ブラウザに...
目次1. React.FC<> 2. クラスxxはReact.Componentを拡張し...
コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...
シナリオシミュレーション:ある会社の運用保守担当者は、以前購入した一連のネットワーク機器の光ポートの...
公式ドキュメント: https://nginx.org/en/linux_packages.html...