MySQL には、主に left()、right()、substring()、substring_index() の 4 つの文字列インターセプト関数があります。それぞれ独自の使用シナリオがあります。今日は少し時間を取って、それらについて説明させてください、マーク!
1. LEFT() 関数LEFT(文字列、長さ) は、文字列の左側の最初の文字から始めて、長さ分の文字を抽出します。長さは 0 より大きくなければなりません。<= 0 の場合、空の文字列が返されます。次に例を示します。 mysql> web_info w から LEFT('www.csdn.net',5) を選択します。 +------------------+ | 左('www.csdn.net',5) | +------------------+ | www.c | +------------------+ セット内の 1 行 (0.00 秒) 2. RIGHT() 関数LEFT(文字列、長さ) は、文字列の右側の最初の文字から始めて、長さ分の文字を順方向に抽出します。長さは 0 より大きくなければなりません。<= 0 の場合、空の文字列が返されます。 mysql> web_info w から RIGHT('www.csdn.net',5) を選択します。 +-------------------------+ | 右('www.csdn.net',5) | +-------------------------+ | n.net | +-------------------------+ セット内の 1 行 (0.00 秒) 3. SUBSTRING() 関数substring() は文字列を分割するために特に使用される関数です。主に 2 つの形式があります。
以下は、上記 2 種類のステートメントの SQL 標準バージョンであり、同じ意味を持ちます。長いですが、より表現力豊かです。 SUBSTRING(位置からの文字列); SUBSTRING(位置から長さまでの文字列); SUBSTRING() の使用方法の例を 2 つ見てみましょう。 1.SUBSTRING(文字列,位置)
たとえば、文字列 "www.csdn.net" から部分文字列 "csdn.net" を取得するには、次の SELECT ステートメントに示すように、部分文字列の位置は 5 から始まる必要があります。 mysql> web_info w から部分文字列 ('www.csdn.net',5) を選択します。 +-----------------------------+ | 部分文字列('www.csdn.net',5) | +-----------------------------+ 日本語 +-----------------------------+ セット内の 1 行 (0.00 秒) 2.SUBSTRING(文字列,位置,長さ) 文字列と位置のパラメータに加えて、SUBSTRING 関数には長さのパラメータもあります。 たとえば、www.csdn.net で csdn を取得する場合の SQL は次のようになります。 mysql> web_info w から部分文字列 ('www.csdn.net',5,4) を選択します。 +---------------------------------+ | 部分文字列('www.csdn.net',5,4) | +---------------------------------+ 日本語 +---------------------------------+ セット内の 1 行 (0.00 秒) または、位置を設定して後ろから前へカウントします。SQL は次のようになります。 mysql> web_info w から部分文字列 ('www.csdn.net',-8,4) を選択します。 +--------------------------------+ | 部分文字列('www.csdn.net',-8,4) | +--------------------------------+ 日本語 +--------------------------------+ セット内の 1 行 (0.00 秒) または、標準の SQL 形式で記述することもできます。SQL は次のようになります。 mysql> web_info w から部分文字列 ('www.csdn.net' FROM 5 FOR 4) を選択します。 +----------------------------------------+ | 部分文字列 ('www.csdn.net' 5 から 4 へ) | +----------------------------------------+ 日本語 +----------------------------------------+ セット内の 1 行 (0.00 秒) さらに、MySQL の mid() と substr() は substring() 関数と同等です。 4. SUBSTRING_INDEX() 関数SUBSTRING_INDEX(str,delim,count)は、特定の識別子「delim」で部分文字列を抽出する関数です。日常生活でよく使います。
たとえば、「www.csdn.net」の場合、識別子「.」が最初に出現する前の部分文字列を取得するには、SQL は次のようになります。 mysql> web_info w から SUBSTRING_INDEX('www.csdn.net','.',1) を選択します。 +---------------------------------------+ | SUBSTRING_INDEX('www.csdn.net','.',1) | +---------------------------------------+ | ウェブサイト | +---------------------------------------+ セット内の 1 行 (0.00 秒) 識別子 '.' が最初に出現した後の部分文字列を取得します。SQL は次のとおりです。 mysql> web_info w から SUBSTRING_INDEX('www.csdn.net','.',-2) を選択します。 +----------------------------------------+ | SUBSTRING_INDEX('www.csdn.net','.',-2) | +----------------------------------------+ 日本語 +----------------------------------------+ セット内の 1 行 (0.00 秒) 2 つの「.」の中央を取得しますか?ネスト可能で、SQL は次のようになります。 mysql> web_info w から SUBSTRING_INDEX(substring_index('www.csdn.net','.',2),'.',-1) を選択します。 +-----------------------------------------------------------------+ | SUBSTRING_INDEX(substring_index('www.csdn.net','.',2),'.',-1) | +-----------------------------------------------------------------+ 日本語 +-----------------------------------------------------------------+ セット内の 1 行 (0.00 秒) 5. 実際の操作テストテーブルとして web_info テーブルを使用し、データは次のようになります。 mysql> web_info から * を選択します。 +------+--------+----------------+---------------------+ | w_id | w_name | w_domain | pub_time | +------+--------+----------------+---------------------+ | 1 | CSDN | www.csdn.net | 2020-09-03 11:29:29 | | 5 | 百度 | www.baidu.com | 2020-09-18 14:37:38 | | 6 | タオバオ | www.taobao.com | 2020-09-03 14:37:57 | +------+--------+----------------+---------------------+ セット内の 3 行 (0.00 秒) 要件 1: web_info データのファーストレベルドメイン名を取得します。 mysql> web_info w から SUBSTRING_INDEX(w_domain,'.',-2),w.* を選択します。 +----------------------------------+------+--------+----------------+----------------------+ | SUBSTRING_INDEX(w_domain,'.',-2) | w_id | w_name | w_domain | pub_time | +----------------------------------+------+--------+----------------+----------------------+ | csdn.net | 1 | CSDN | www.csdn.net | 2020-09-03 11:29:29 | | baidu.com | 5 | 百度 | www.baidu.com | 2020-09-18 14:37:38 | | taobao.com | 6 | タオバオ | www.taobao.com | 2020-09-03 14:37:57 | +----------------------------------+------+--------+----------------+----------------------+ セット内の 3 行 (0.00 秒) 要件 2: w_domain フィールドのデータを第 1 レベル ドメイン名に変更します。 web_info を更新します。w_domain を SUBSTRING_INDEX(w_domain,'.',-2) に設定します。 変更されたクエリ: mysql> web_info から * を選択; +------+--------+------------+---------------------+ | w_id | w_name | w_domain | pub_time | +------+--------+------------+---------------------+ | 1 | CSDN | csdn.net | 2020-09-03 14:54:59 | | 5 | 百度 | baidu.com | 2020-09-03 14:54:59 | | 6 | タオバオ | taobao.com | 2020-09-03 14:54:59 | +------+--------+------------+---------------------+ セット内の 3 行 (0.00 秒) さて、今日のMySQLの文字列分割機能は以上です。役に立ったら、ぜひ無料で共有してくださいね~~ MySQL セグメンテーション関数 substring() の具体的な使用法に関するこの記事はこれで終わりです。MySQL セグメンテーション関数 substring に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: NetEase ブログで使用されているシンプルな Web ページ コード
>>: CSSアニメーションに基づくSVGボタンのサンプルコード
変更後: innodb_buffer_pool_size=576M ->256M InnoDB...
目次序文1. scp2をインストールする2. テスト/本番環境サーバーのSSHリモートログインアカウ...
目次DockerにRedisをインストールする1. Redisイメージを見つける2. Redisイメ...
目次1. Cocos Creatorでのオーディオ再生の基本1. 基本2. 一般的な方法2. Coc...
最近、何人かの友人から、仮想マシンに CentOS をインストールした後、ifconfig コマンド...
mysql 5.6.35 winx64無料インストールバージョン構成チュートリアルwin10、具体的...
目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...
この記事では、簡単な虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な内...
[LeetCode] 183.注文しない顧客Web サイトに、Customers テーブルと Or...
inline-flex は inline-block と同じです。内部要素用の display:fl...
目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...
Centos7 と Centos6 では、GRUB パスワードの設定手順に大きな違いがあります。これ...
HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...
目次概要二分木からB+木へクラスター化インデックス非クラスター化インデックスジョイントインデックスと...
目次小さいけれど美しいシンプルにNULL値を避けるデータタイプを選択する手順データ型の紹介1. 文字...