この記事では、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 ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: VMware での Ubuntu 16.04 イメージの完全インストール チュートリアル
>>: TypeScript 2.0 マーク付き共用体型の詳細な説明
ウェブフロントエンド1学生証名前性別年01張三男20 02李思女性21総人数60フォームのコンポーネ...
この記事では、MySQL で複数のテーブルを使用して 1 対多のクエリを使用して最新のデータを取得す...
目次nginxとは1. 必要な依存関係をダウンロードする2. nginxの圧縮パッケージをダウンロー...
従来、開発者はインスタンスで必要になる可能性のあるデータに対して JavaScript クラス内にプ...
Raspberry Pi は ARM アーキテクチャをベースとしているため、Docker のインスト...
Element UIのtextarea input自動サイズに設定すると、テキストボックスのデフォル...
1. データ感度低下の説明日常の開発ニーズでは、データの感度低下が頻繁に発生します。たとえば、ID ...
Bash 初期化ファイル対話型ログインシェル次の場合にはログイン シェルを取得できます。ローカル端末...
この記事では、例を使用して、MySQL データベースの一般的な基本操作について説明します。ご参考まで...
目次トリガーとは何かトリガーを作成する表は次のようになります。さらにいくつかの単語を挙げます。制限と...
目次Vue でのモデルバインド表示の if の v-text の説明v-html: v-オンv-if...
導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...
設置環境セントス環境依存性: yum -y gccをインストールします yum インストール -y ...
1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...
正規表現を使用してIEブラウザのバージョンを判別するIEブラウザかどうか確認するif (docume...