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ボタンのサンプルコード
目次1. はじめに2. アイデアファイルをアップロードする2つの方法3. ライフサイクル4. コード...
最近、たまたまこの小さな要件に遭遇しました。昔、JS を使用してこれを処理したことを覚えていますが、...
目次インストール不要のMySQLバージョン1. インストール パッケージをダウンロードします。 2....
序文しばらく前にMysqlのデッドロック問題に遭遇したので、解決しました。問題の説明: Mysql ...
目次序文ブラウザにおけるオーディオとビデオに関する知識のまとめビデオエンコーディング包装形態オーディ...
問題現象: [root@localhost ~]# docker イメージをプル xxx.com.c...
1. 問題開発中に、他のデータベースから MySQL データベース テーブルにデータを挿入すると、次...
出典: www.bamagazine.comウェブページのバナー、ニュースの見出しの周りのスペース、...
1. 何ですかコンポーネント間の通信は、次の 2 つの単語に分けることができます。コンポーネントコ...
https をサポートしていない Web サイトは、ブラウザによって徐々に安全でないとマークされるた...
まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...
1. MySQLイメージを見つける ドッカーps 2. ミラーmysqlイメージを入力する dock...
HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...
イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...
目次レイアウトを作成するCSSスタイルを追加するJavaScript で要素を操作する対象要素を取得...