MySQLの文字列インターセプト関連関数の概要

MySQLの文字列インターセプト関連関数の概要

この記事では、MySQL の文字列インターセプト関連の機能を紹介します。具体的な内容は以下のとおりです。

職場では、特定の区切り文字をフィールド値として使用して特定のフィールドを文字列に結合し、データベース テーブルに保存する必要がある場合があります。たとえば、タスクは 3 つの結果に対応しており、それらは異なるデータ テーブルに保存されています。この場合、これら 3 つの異なるテーブルの主キーを、合意された順序 (主キー a: 主キー b: 主キー c) で結合できます。対応するタスクのカテゴリの詳細情報を個別に確認する必要がある場合は、特定の位置で文字列(主キー b)をインターセプトし、テーブル b を結合して操作することができます。最近、たまたまこの操作に遭遇したので、今後のレビューのために、MySQL 文字列インターセプションの関連機能を特別に整理しました。

1. 左(文字列、長さ)

文字列 str の左から len 文字を返します。いずれかの引数が NULL の場合、NULL を返します。

mysql> 左を選択します('shinejaie'、5);
+--------------------------------------------------------+
| 左('shinejaie', 5) |
+--------------------------------------------------------+
| 輝く |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)

2. 右(文字列、長さ)

strの右から最後のlen文字を返します。引数のいずれかが NULL の場合、 NULL が返されます。

mysql> 右を選択します('shinejaie'、4);
+--------------------------------------------------------+
| 右('shinejaie', 4) |
+--------------------------------------------------------+
| ジェイ |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)

3. 部分文字列インデックス(str, delim, count)

区切り文字 delim の count 出現前の str の部分文字列を返します。 count が正の場合、最後の区切り文字の左側にあるすべてのもの (左から数えられるため) が部分文字列として返されます。count が負の場合、最後の区切り文字の右側にあるすべてのもの (右から数えられるため) が部分文字列として返されます。この関数は区切り文字を検索するときに大文字と小文字を区別します。 delim パラメータで指定された値が文字列 str 内に見つからない場合、文字列全体が返されます。

mysql> substring_index('home.cnblogs.com', '.', 2) を選択します。
+--------------------------------------------------------+
| サブ文字列インデックス('home.cnblogs.com', '.', 2) |
+--------------------------------------------------------+
| ホーム.cnblogs |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)
mysql> substring_index('home.cnblogs.com', '/', 2) を選択します。
+--------------------------------------------------------+
| サブ文字列インデックス('home.cnblogs.com', '/', 2) |
+--------------------------------------------------------+
| home.cnblogs.com |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)

4. substring() と substr() ---> substring(str, pos), substring(str from pos), substring(str, pos, len), substring(str from pos for len)

上記の 4 つの関数バリアントでは、len パラメータのない関数形式は、str 内の位置 pos の後の部分文字列を返します。len パラメータのある関数形式は、str 内の位置 pos の後の長さ len の部分文字列を返します。 FROM の関数形式では標準の SQL 構文が使用されます。 pos パラメータは負の値を取ることもできます。その場合、文字列は文字列 str の末尾から前方へ(先頭から最後へではなく)取得され、位置 pos から逆順に開始されます。さらに、負の pos パラメータは、substring() 関数のどの形式でも使用できます。

mysql> 部分文字列を選択します('shinejaie', 6);
+--------------------------------------------------------+
| サブ文字列('shinejaie',6) |
+--------------------------------------------------------+
| ジェイ |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)
mysql> 6 から substr('shinejaie') を選択します。
+--------------------------------------------------------+
| substr('shinejaie' 6 より) |
+--------------------------------------------------------+
| ジェイ |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)
mysql> 部分文字列を選択します('shinejaie', -9, 5);
+--------------------------------------------------------+
| 部分文字列('shinejaie', -9, 5) |
+--------------------------------------------------------+
| 輝く |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)

5. トリム([{両方 | 先頭 | 末尾} [remstr] 形式] str)

文字列 str から remstr で指定されたプレフィックスまたはサフィックスを削除し、結果の文字列を返します。識別子 both、leading、または trailing が指定されていない場合、デフォルトは both となり、プレフィックスとサフィックスの両方が削除されます。 remstr は実際にはオプションのパラメータです。指定されていない場合は、スペースが削除されます。

mysql> trim('shinejaie') を選択します。
+--------------------------------------------------------+
| トリム('shinejaie') |
+--------------------------------------------------------+
| シャインジェイ |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)
mysql> select trim('cn_' を 'cn_shinejaiecn_' から先頭の 'cn_' に置き換えます);
+--------------------------------------------------------+
| 'cn_shinejaiecn_' から先頭の 'cn_' をトリムします |
+--------------------------------------------------------+
| シャインジャエックン_ |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)
mysql> select trim(both 'cn_' from 'cn_shinejaiecn_');
+--------------------------------------------------------+
| 'cn_' と 'cn_shinejaiecn_' の両方をトリムします |
+--------------------------------------------------------+
| シャインジェイ |
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)
mysql> select trim(末尾の 'cn_' を 'cn_shinejaiecn_' から削除)
+--------------------------------------------------------+
| 'cn_shinejaiecn_' から末尾の 'cn_' をトリムします |
+--------------------------------------------------------+
| 日本語
+--------------------------------------------------------+
セット内の 1 行 (0.00 秒)

要約する

上記は、編集者が紹介したMySQL文字列インターセプション関連関数のまとめです。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Mysql 文字列インターセプション関数 SUBSTRING の使用方法
  • MySQL インターセプションと文字列分割関数の使用例
  • Mysql 文字列の傍受と指定された文字列内のデータの取得
  • mysqlは指定された2つの文字列間の内容を傍受します
  • MySQL インターセプト文字列関数 substring_index の使用
  • MySQLは文字列関数のSQL文をインターセプトします
  • MySQL は文字列インターセプションのグラフィックチュートリアルを実装します

<<:  VMware での Ubuntu 16.04 イメージの完全インストール チュートリアル

>>:  TypeScript 2.0 マーク付き共用体型の詳細な説明

推薦する

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

MySQL実践ウィンドウ関数SQL分析クラスの生徒のテストの成績と生活費

目次1. 背景2. テーブル作成ステートメントとデータ挿入テーブルを作成するデータの挿入3. ウィン...

CSS に基づいて MaterialUI ボタン​​クリックアニメーションを実装し、それを React コンポーネントにカプセル化します。

序文フロントエンドフレームワークのヘビーユーザーとして、私はテクノロジーを選択する際にそのエコロジー...

写真とテキストによる MySQL 8.0.21 インストール チュートリアル

1. ダウンロードリンクをダウンロードするダウンロードをクリックします。Oracle アカウントにロ...

MySQL 検査スクリプト (必読)

以下のように表示されます。 #!/usr/bin/env python3.5 psutilをインポー...

JavaScript が Jingdong の虫眼鏡効果を模倣

この記事では、Jingdongの虫眼鏡効果を実現するためのJavaScriptの具体的なコードを紹介...

Docker でローカルにイメージをインポート/保存/読み込み/削除する方法

1. Dockerはローカルイメージをインポートする場合によっては、イメージをローカルまたは別の友人...

HTMLにおけるbackground-image属性の設定の詳細な説明

写真といえば、まず背景画像が思い浮かびます。私たちの装飾の多くは背景画像を使用して実現されているから...

エコー後に要素編集フォームel-radioが選択できない問題を解決します

目次序文質問オンラインソリューション序文この記事の内容は私がこの業界に入ったときのメモを元にしている...

MySQLクラスタのDockerデプロイメントの実装

シングルノードデータベースの欠点大規模なインターネットプログラムはユーザーベースが大きいため、アーキ...

Centos7 への MySQL8 のインストールチュートリアル

MySQL 8 の新機能: MySQL をバージョン 5.x から 8.x に直接アップグレードする...

MySQLでBLOBデータを処理する方法

具体的なコードは次のとおりです。 パッケージ epoint.mppdb_01.h3c; java.i...

例を通してMySQLの更新がテーブルをロックするかどうかを判定する

2つのケース: 1. 索引あり 2. 索引なし前提条件:方法: コマンドラインを使用してシミュレート...

Zabbix を使用して Nginx/Tomcat/MySQL を監視する方法の詳細なチュートリアル

目次ZabbixはNginxを監視するZabbixはTomcatを監視するZabbixはMySQLを...

React と Threejs を使用して VR パノラマ プロジェクトを作成する詳細なプロセス

最近、 Three.jsでReactを使用して、720 度のパノラマ写真を閲覧できるプロジェクトを構...