ホームページ > データベース > mysql チュートリアル > MySQLでよく使われる文字列関数をまとめます!

MySQLでよく使われる文字列関数をまとめます!

藏色散人
リリース: 2021-09-26 16:58:21
転載
3180 人が閲覧しました

データベース関数は、0 個以上の入力値を受け取り、出力値を返すことができる特定の関数を備えたモジュールです。 MySQL には、データの処理と分析のための多くのシステム関数が用意されています。この記事では、よく使用される 10 個の文字列関数とその他の関連関数を紹介します。

CONCAT()

CONCAT(str1,str2,…)) 関数は、複数の文字列を連結した後に文字列を返すために使用されます。例:

SELECT CONCAT('MySQL', '字符串', '函数') AS str;
ログイン後にコピー

If この関数 Ifのパラメータが NULL の場合、戻り結果も NULL になります。例:

SELECT CONCAT('MySQL', NULL, '函数') AS str;
ログイン後にコピー

文字列定数の場合は、直接一緒に記述することもできます。例:

SELECT 'MySQL' '字符串' '函数' AS str;
ログイン後にコピー

上記のメソッドは文字列定数を接続する場合にのみ使用でき、フィールド値を接続する場合には使用できません。

SQL モード PIPES_AS_CONCAT が有効な場合、Oracle や PostgreSQL と同様に、MySQL 論理 OR 演算子 (||) を使用して文字列を連結することもできます。

CONCAT(str1,str2,…)) 関数に加えて、CONCAT_WS(separator,str1,str2,…)) 関数は、指定された区切り文字 separator を使用して複数の文字列を接続することを意味します。区切り文字は次のとおりです。 NULL。NULL を返します。例:

SELECT CONCAT_WS('-', 'MySQL', NULL, '字符串') AS str1,
ログイン後にコピー

LOWER()

LOWER(str) および LCASE(str) 関数は、文字列を小文字に変換するために使用されます。例:

SELECT LOWER('MySQL字符串函数') AS str1, LCASE('MySQL字符串函数') AS str2;
ログイン後にコピー

MySQL の場合変換関数はバイナリ文字列 (BINARY、VARBINARY、BLOB) をサポートしていませんが、処理前に非バイナリ文字列に変換できます。例:

SELECT LOWER(BINARY 'MySQL字符串函数') AS str1,
ログイン後にコピー

UPPER()

UPPER(str) および UCASE(str) 関数は、文字列を大文字に変換するために使用されます。例:

SELECT UPPER('MySQL字符串函数') AS str1, UCASE('MySQL字符串函数') AS str2;
ログイン後にコピー

LENGTH()

LENGTH(str) 関数と OCTET_LENGTH(str) 関数は、文字列のバイト長を返すために使用されます。例:

SELECT LENGTH('MySQL字符串函数') AS len1, OCTET_LENGTH('MySQL字符串函数') AS len2;
ログイン後にコピー

utf8mb4 エンコードでは、1 つの中国語文字が 3 バイトを占めます。

さらに、CHAR_LENGTH(str) 関数と CHARACTER_LENGTH(str) 関数は、文字列の文字長、つまり文字数を返すために使用されます。例:

SELECT CHAR_LENGTH('MySQL字符串函数') AS len1, CHARACTER_LENGTH('MySQL字符串函数') AS len2;
ログイン後にコピー

BIT_LENGTH(str) 関数は、文字列のビット長 (ビット数) を返すために使用されます。例:

SELECT BIT_LENGTH('MySQL字符串函数') AS len;
ログイン後にコピー

1 バイトには 8 ビットが含まれます。

SUBSTRING()

SUBSTRING(str,pos)、SUBSTRING(str FROM pos)、SUBSTRING(str,pos,len)、および SUBSTRING(str FROM pos FOR len) 関数はすべて、 used 指定された位置 pos から始まる部分文字列を返す場合、len は返される部分文字列の長さを表します; pos は 0、つまり空の文字列を返すことを意味します。例:

SELECT SUBSTRING('MySQL字符串函数', 6) AS str1,
ログイン後にコピー

位置パラメータ pos には負の数を指定できます。この場合、返される部分文字列は文字列の右側の pos 文字から始まります。例:

SELECT SUBSTRING('MySQL字符串函数', -2) AS str1,
ログイン後にコピー

さらに、SUBSTR() 関数と MID() 関数は SUBSTRING() 関数の同義語であり、上記の 4 つの形式もサポートしています。

LEFT(str,len) 関数は文字列 str の左側の len 文字を返し、RIGHT(str,len) 関数は文字列 str の右側の len 文字を返します。例:

SELECT LEFT('MySQL字符串函数',5) AS str1,
ログイン後にコピー

SUBSTRING_INDEX(str,delim,count) 関数は、カウント区切り文字 delim の前の部分文字列を返します。 count が正の場合、左から数えて左側のすべての文字を返します。count が負の場合、右から数えて右側のすべての文字を返します。例:

SELECT SUBSTRING_INDEX('张三;李四;王五', ';', 2) AS str1,[object Object]
ログイン後にコピー

TRIM()

TRIM([remstr FROM] str) 関数は、文字列 str の両側にあるすべての remstr 文字列を削除した後で部分文字列を返すために使用されます。Remstr のデフォルトは次のとおりです。スペース。例:

SELECT TRIM('  MySQL字符串函数  ') AS str1,
ログイン後にコピー

TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) 関数は、文字列の両側/左側/右側にあるすべての remstr 文字列を削除した後、部分文字列を返すために使用されます。 str では、両側 (BOTH) の文字列がデフォルトで削除され、 remstr のデフォルトはスペースです。例:

SELECT TRIM(LEADING ' ' FROM '  MySQL字符串函数  ') AS str1,
ログイン後にコピー

LPAD()/RPAD()

LPAD(str,len,padstr) 関数は、文字列 str の左側が長さになるまで Padstr で埋められることを意味します。 len; RPAD( str,len,padstr) 関数は、長さが len になるまで文字列 str の右側に Padstr を使用することを意味します。例:

SELECT LPAD(123, 6, '0') AS str1, LPAD(123, 2, '0') AS str2,
ログイン後にコピー

文字列 str の長さが len より大きい場合、文字列を右側から切り捨てることと同じです。

さらに、REPEAT(str,count) 関数を使用して、文字列 str count 回コピーし、結果を返します。

例:

MySQLでよく使われる文字列関数をまとめます!

INSTR()

INSTR (str,substr) 関数は、文字列内の部分文字列 substr を返すために使用されます。 str 最初に出現するインデックス位置。部分文字列が見つからない場合は、0 が返されます。例:

select INSTR('MySQL字符串函数', '字符串') AS index1,
ログイン後にコピー

さらに、LOCATE (substr,str) 関数を使用して、文字列 str 内で部分文字列 substr が最初に出現するインデックス位置を返すこともできます。これが、LOCATE (substr,str) 関数との唯一の違いです。 INSTR (str,substr) 関数、つまりパラメータの順序が逆になります。

LOCATE (substr,str,pos) この関数は、位置 pos から始まる文字列 str 内で部分文字列 substr が最初に出現するインデックス位置を返します。例:

SELECT LOCATE('S','MySQL Server', 5) AS ind;
ログイン後にコピー

FIELD (str, str1 ,str2,str3,…) この関数は、後続の文字列リスト内で文字列 str が出現する位置を返し、見つからない場合は 0 を返します。例:

SELECT FIELD('李四', '张三', '李四', '王五') AS ind;
ログイン後にコピー

FIND_IN_SET (str,strlist) この関数は、リスト文字列 strlist 内で文字列 str が出現する位置を返します。strlist はカンマで区切られた N 個の部分文字列で構成されます。例:

SELECT FIND_IN_SET('李四', '张三,李四,王五') AS ind;
ログイン後にコピー

REPLACE()

REPLACE (str,from_str,to_str) 関数は、文字列 str 内のすべての from_str を to_str に置換し、置換された文字列を返すために使用されます。例えば:###

SELECT REPLACE('MySQL字符串函数', '字符串', '日期') AS str1,
ログイン後にコピー

另外,INSERT (str,pos,len,newstr) 函数用于在字符串 str 的指定位置 pos 之后插入子串 newstr,替换随后的 len 个字符。例如:

SELECT INSERT('MySQL字符串函数', 6, 3, '日期') AS str;
ログイン後にコピー

REVERSE()

REVERSE (str) 函数用于将字符串 str 中的字符顺序进行反转。例如:

SELECT REVERSE('上海自来水来自海上')='上海自来水来自海上' AS "回文";
ログイン後にコピー

推荐学习:《mysql视频教程

以上がMySQLでよく使われる文字列関数をまとめます!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート