こんにちは、みんな!技術の話ばかりで髪は切らないトニーです。 データベース関数は、何らかの機能を持ち、0 個以上の入力値を受け取り、出力値を返すことができるモジュールです。 MySQL は、データの処理と分析のための多くのシステム関数を提供します。この記事では、よく使用される 10 個の文字列関数とその他の関連関数を紹介します。 連結() SELECT CONCAT('MySQL', '文字列', '関数') AS str; 文字列 --------------+ MySQL 文字列関数 | この関数のいずれかのパラメータが NULL の場合、返される結果は NULL になります。例えば: SELECT CONCAT('MySQL', NULL, 'function') AS str; str| ---+ | 文字列定数の場合は、直接連結することもできます。例えば: SELECT 'MySQL' '文字列' '関数' AS str; 文字列 --------------+ MySQL 文字列関数 | 上記の方法は、フィールド値を接続するのではなく、文字列定数を接続するためにのみ使用できます。
CONCAT(str1,str2,…)) 関数に加えて、 CONCAT_WS('-', 'MySQL', NULL, '文字列') を str1 として選択します。 CONCAT_WS(NULL, 'MySQL', '文字列') を str2 として指定します。 文字列1 |文字列2| -----------+----+ MySQL 文字列 | | より低い() SELECT LOWER('MySQL 文字列関数') AS str1, LCASE('MySQL 文字列関数') AS str2; 文字列1 |文字列2 | --------------+--------------+ mysql 文字列関数 |mysql 文字列関数 | MySQL の大文字と小文字の変換関数はバイナリ文字列 (BINARY、VARBINARY、BLOB) をサポートしていないため、処理前に非バイナリ文字列に変換できます。例えば: SELECT LOWER(BINARY 'MySQL文字列関数') AS str1, LOWER(CONVERT(BINARY 'MySQL 文字列関数' USING utf8mb4)) AS str2; 文字列1 |文字列2 | -------------------+-------------+ MySQL 文字列関数 | アッパー() SELECT UPPER('MySQL 文字列関数') AS str1, UCASE('MySQL 文字列関数') AS str2; 文字列1 |文字列2 | --------------+--------------+ MYSQL 文字列関数 |MYSQL 文字列関数 | 長さ() SELECT LENGTH('MySQL 文字列関数') AS len1, OCTET_LENGTH('MySQL 文字列関数') AS len2; 長さ1|長さ2| ----+----+ 20| 20| utf8mb4 エンコーディングでは、中国語の文字は 3 バイトを占めます。 さらに、 SELECT CHAR_LENGTH('MySQL 文字列関数') AS len1, CHARACTER_LENGTH('MySQL 文字列関数') AS len2; 長さ1|長さ2| ----+----+ 10| 10| SELECT BIT_LENGTH('MySQL 文字列関数') AS len; レン| ---+ 160| 1 バイトには 8 ビットが含まれます。 部分文字列() SELECT SUBSTRING('MySQL文字列関数', -2) AS str1, SUBSTRING('MySQL 文字列関数', -5, 3) AS str2; 文字列1 |文字列2 | ------+------+ 関数|文字列| 位置パラメータ pos は負の数にすることができ、その場合、返される部分文字列は文字列の右側の posth 文字から始まります。例えば: SELECT LEFT('MySQL文字列関数',5) AS str1, RIGHT('MySQL 文字列関数',5) AS str2; 文字列1 |文字列2 | -----+---------+ MySQL|文字列関数| さらに、 SELECT LEFT('MySQL文字列関数',5) AS str1, RIGHT('MySQL 文字列関数',5) AS str2; 文字列1 |文字列2 | -----+---------+ MySQL|文字列関数| SELECT SUBSTRING_INDEX('张三;李四;王五', ';', 2) AS str1, SUBSTRING_INDEX('张三;李四;王五', ';', -2) AS str2; 文字列1 |文字列2 | --------+--------+ 張三; 李四; 王武| トリム() SELECT TRIM('MySQL文字列関数') AS str1, TRIM('-' FROM '--MySQL 文字列関数--') AS str2; 文字列1 |文字列2 | --------------+--------------+ MySQL 文字列関数 |MySQL 文字列関数 | SELECT TRIM(LEADING ' ' FROM 'MySQL 文字列関数') AS str1, TRIM(末尾の '-' を '--MySQL 文字列関数--' から str2 に置き換える) 文字列1 |文字列2 | ----------------+----------------+ MySQL 文字列関数 |--MySQL 文字列関数 | LPAD()/RPAD() LPAD(123, 6, '0') を str1 として選択し、LPAD(123, 2, '0') を str2 として選択します。 RPAD(123, 6, '0') を str1 として、RPAD(123, 2, '0') を str1 として; 文字列1 |文字列2|文字列1 |文字列1| ------+----+------+----+ 000123|12 |123000|12 | 文字列 str の長さが len より大きい場合、文字列を右から切り捨てることと同じになります。 さらに、 REPEAT('🔥', 5) を str として選択します。 文字列 ----------+ 🔥🔥🔥🔥🔥| INSTR() INSTR('MySQL 文字列関数', '文字列') AS index1 を選択し、 INSTR('MySQL文字列関数', '日付') AS index2, INSTR('MySQL文字列関数', '') AS index3, INSTR('MySQL 文字列関数', null) AS index4; インデックス1|インデックス2|インデックス3|インデックス4| ------+------+------+------+ 6| 0| 1| | さらに、 SELECT LOCATE('S','MySQL Server', 5) AS ind; インド| ---+ 7| FIELD(str,str1,str2,str3,…) 関数は、後続の文字列リスト内で文字列 str が出現する位置を返します。見つからない場合は 0 を返します。例えば: SELECT FIELD('Li Si', 'Zhang San', 'Li Si', 'Wang Wu') AS ind; インド| ---+ 2| FIND_IN_SET(str,strlist) 関数は、リスト文字列 strlist 内で文字列 str が出現する位置を返します。strlist は、カンマで区切られた N 個の部分文字列で構成されます。例えば: SELECT FIND_IN_SET('Li Si', 'Zhang San, Li Si, Wang Wu') AS ind; インド| ---+ 2| 交換する() SELECT REPLACE('MySQL 文字列関数', '文字列', '日付') AS str1, REPLACE('MySQL 文字列関数', '文字列', '') AS str2; 文字列1 |文字列2 | ------------+----------+ MySQL 日付関数 |MySQL 関数 | さらに、 SELECT INSERT('MySQL 文字列関数', 6, 3, '日付') AS str; 文字列 ------------+ MySQL 日付関数 | 逆行する() SELECT REVERSE('上海の水道水は海から来ている')='上海の水道水は海から来ている' AS "Palindrome"; 回文| ----+ 1| MySQL について詳しく知りたい場合は、この記事を参照してください。 これで、MySQL でよく使用される文字列関数のトップ 10 に関するこの記事は終了です。MySQL 文字列関数に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...
2つのケース: 1. 索引あり 2. 索引なし前提条件:方法: コマンドラインを使用してシミュレー...
序文日常業務では、すべての jpg ファイルを bnp に変更したり、名前の 1 を one に変更...
1. 単一列インデックスどの列にインデックスを作成するかを選択することは、パフォーマンス最適化プロ...
目次1. テーブルを作成する1.1 テストテーブルt_userを作成する1.2 一時テーブルの作成2...
序文フィールドの追加は誰でもよく知っていると思います。簡単に記述できます。MySQL テーブルにフィ...
目次MySQL ログファイルバイナリログBinlogログがオンになっていますログ記録を有効にする方法...
境界線のスタイルborder-style プロパティは、表示する境界線の種類を指定します。 bord...
3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...
この記事では、MySQL データベースの一般的な操作テクニックをまとめます。ご参考までに、詳細は以下...
目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...
FlashFXPのダウンロードアドレスは、https://www.jb51.net/softs/95...
この記事では、カードフリップ効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...
クリップパスの使用ポリゴン値は複数の座標点で構成されます。最初の値は x 方向、2 番目の値は y ...
最近私の記事を読んだ人なら誰でも、私が現在WeChatミニプログラムプロジェクトを担当しており、その...