序文: 正規表現のインターセプションに似た、MySql フィールドの文字列から特定の文字を抽出するという要件に遭遇しました。適切な方法がありませんでした。Baidu で検索した後、ようやく適切な方法を見つけました: substring_index('www.sqlstudy.com.cn', '.', -2) 特定の文字を含むデータを取得する場合は、この方法を強くお勧めします。 substring_index(input,split,index): input はインターセプトされる文字、split は区切り文字、Index は index 番目の区切り文字の左側 (インデックスが正の場合) または右側 (インデックスが負の場合) でインターセプトされる文字列です。 個人文字列を例に挙げます: 'Provider="RiskManagement" finalScore="65" RGID="100397278"' finalScore の値を取得したいとします: -- 1-finalScore の右側の文字を取得します。 select substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1); -- 2- 「RGID="」の左側の文字を取得します。 select substring_index(substring_index('Provider="RiskManagement" finalScore="65" RGID="100397278"','finalScore="',-1),'" RGID="',1); 結果 1: 65" RGID="100397278" 結果2: 65 MySQL 文字列抽出関数: left()、right()、substring()、substring_index()。 mid() と substr() もあります。このうち、mid() と substr() は substring() 関数と同等です。substring() の機能は非常に強力で柔軟性があります。 1. 文字列の切り捨て: left(str, length) mysql> 左を選択します('sqlstudy.com', 3); +-------------------------+ | 左('sqlstudy.com', 3) | +-------------------------+ | SQL | +-------------------------+ 2. 文字列インターセプション: right(str, length) mysql> 右を選択します('sqlstudy.com', 3); +--------------------------+ | 右('sqlstudy.com', 3) | +--------------------------+ | com | +--------------------------+ 3. 文字列の抽出: substring(str, pos); substring(str, pos, len) 3.1 文字列の 4 番目の文字位置から開始して最後まで続けます。 mysql> サブ文字列を選択します('sqlstudy.com', 4); +------------------------------+ | サブ文字列('sqlstudy.com', 4) | +------------------------------+ | study.com | +------------------------------+ 3.2 文字列の 4 番目の文字位置から開始し、2 文字だけを取得します。 mysql> サブ文字列を選択します('sqlstudy.com', 4, 2); +---------------------------------+ | サブ文字列('sqlstudy.com', 4, 2) | +---------------------------------+ | st | +---------------------------------+ 3.3 文字列の 4 番目の文字位置 (逆方向に数えて) から開始し、最後まで続けます。 mysql> サブ文字列を選択します('sqlstudy.com', -4); +---------------------------------+ | サブ文字列('sqlstudy.com', -4) | +---------------------------------+ | .com | +---------------------------------+ 3.4 文字列の 4 番目の文字位置 (逆方向に数えて) から開始し、2 文字だけを取得します。 mysql> サブ文字列を選択します('sqlstudy.com', -4, 2); +----------------------------------+ | サブ文字列('sqlstudy.com', -4, 2) | +----------------------------------+ | .c | +----------------------------------+ 関数substring(str,pos,len)では、posは負の値になることができますが、lenは負の値になることができないことに気づきます。 4. 文字列抽出: substring_index(str,delim,count) 4.1 2 番目の「.」の前のすべての文字をインターセプトします。 mysql> substring_index('www.sqlstudy.com.cn', '.', 2) を選択します。 +------------------------------------------------+ | サブ文字列インデックス('www.sqlstudy.com.cn', '.', 2) | +------------------------------------------------+ | www.sqlstudy | +------------------------------------------------+ 4.2 2 番目の「.」(最後の文字) 以降のすべての文字をインターセプトします。 mysql> substring_index('www.sqlstudy.com.cn', '.', -2) を選択します。 +-------------------------------------------------+ | サブ文字列インデックス('www.sqlstudy.com.cn', '.', -2) | +-------------------------------------------------+ | com.cn | +-------------------------------------------------+ 4.3 delimパラメータで指定された値が文字列内に見つからない場合は、文字列全体が返されます。 mysql> substring_index('www.sqlstudy.com.cn', '.coc', 1) を選択します。 +---------------------------------------------------+ | サブ文字列インデックス('www.sqlstudy.com.cn', '.coc', 1) | +---------------------------------------------------+ | www.sqlstudy.com.cn | +---------------------------------------------------+ 4.4 テーブル内のフィールドの中央値(1、2、3など)を抽出する mysql> テーブル名から substring_index(substring_index(フィールド、','、2)、','、-1) を選択します。 +----------------------------------------------------------------+ | substring_index(substring_index(フィールド, ',', 2); , ',', -1)| +----------------------------------------------------------------+ | 2 | +----------------------------------------------------------------+ 要約する 以上が、Mysql の文字列インターセプトと指定の文字列内のデータの取得についてご紹介したものです。お役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: Flask アプリケーションの Docker デプロイ実装手順
目次序文1. 技術原理1.1 レイアウト1.2 コンポーネント1.3 ステータス1.4 イベント1....
目次概要1. アプリケーションレベルのミドルウェア2. 組み込みミドルウェア3. サードパーティミド...
この記事は主に、MySQL インデックスの長さ制限の原理の分析を紹介します。サンプル コードを通じて...
Cocos Creator モジュラースクリプトCocos Creator を使用すると、コードを複...
目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...
データベーストランザクション分離レベルデータベース トランザクションには、低から高まで 4 つの分離...
一つの環境Alibaba Cloud Server: CentOS 7.4 64 ビット (RedH...
vue2と比較して、vue3にはアプリの概念が追加され、vue3プロジェクトの作成も // メイン....
現在、2016サーバーは、win2008や2012よりも優れたマルチサイトhttpsサービスをサポー...
アプリケーションシナリオ多くの場合、Linux サーバーに tomcat や nginx などのソフ...
この記事では、LinuxシステムのVMwareインストールの具体的な手順を参考までに紹介します。具体...
コアコード <!DOCTYPE html> <html lang="ja...
目次テーブル定義の自動増分 ID InnoDBシステムはrow_idを自動的に増加させるシドInno...
関数のカリー化(黒い疑問符の顔)? ? ?カレー(黒い疑問符の顔)? ? ?これは完璧な中国語翻訳で...
SQLyog が MySQL に接続する際にエラー番号 1129 が発生します: mysql エラー...