MySQL字符串函数

        1、 统计字符串字符数函数 CHAR_LENGTH(str)

        CHAR_LENGTH(str) 返回值为字符串 str 所包含的字符数,一个多字节字符算作一个单字符。

mysql> SELECT CHAR_LENGTH('hello'), CHAR_LENGTH('哈喽MySQL');
+----------------------+----------------------------+
| CHAR_LENGTH('hello') | CHAR_LENGTH('哈喽MySQL')   |
+----------------------+----------------------------+
|                    5 |                          7 |
+----------------------+----------------------------+
1 row in set (0.00 sec)

        2、 统计字符串字节长度 LENGTH(str)

        LENGTH(str) 返回值为字符串的字节长度,使用 utf8编码字符集时,一个汉字是3个字节,一个数字或字母算一个字节。

mysql> SELECT LENGTH('hello'), LENGTH('哈喽');
+-----------------+------------------+
| LENGTH('hello') | LENGTH('哈喽')   |
+-----------------+------------------+
|               5 |                6 |
+-----------------+------------------+
1 row in set (0.00 sec)

        3、 合并字符串函数 CONCAT(s1,s2,...)

        CONCAT(s1,s2,...) 返回结果为连接参数产生的字符串。参数中如果有NULL,怎返回的结果为NULL。

mysql> SELECT CONCAT(NULL, 'hello'), CONCAT('hello', ' world');
+-----------------------+---------------------------+
| CONCAT(NULL, 'hello') | CONCAT('hello', ' world') |
+-----------------------+---------------------------+
| NULL                  | hello world               |
+-----------------------+---------------------------+

        4 、合并字符串函数 CONCAT_WS(x,s1,s2,...) 

        CONCAT_WS(x,s1,s2,...) 是 CONCAT()的特殊形式。第一个参数 x 是其他参数的分隔符,分隔符的位置放在要连接的两个字符串之间。
分隔符可以是一个字符串,也可以是其他参数。如果分隔符为NULL,则结果为NULL。函数会忽略任何分隔符参数后的NULL值。

mysql> SELECT CONCAT_WS('-', 'one', 'two', 'three'), CONCAT_WS(NULL, 'one', 'two'), CONCAT_WS('-', NULL, 'one', 'two');
+---------------------------------------+-------------------------------+------------------------------------+
| CONCAT_WS('-', 'one', 'two', 'three') | CONCAT_WS(NULL, 'one', 'two') | CONCAT_WS('-', NULL, 'one', 'two') |
+---------------------------------------+-------------------------------+------------------------------------+
| one-two-three                         | NULL                          | one-two                            |
+---------------------------------------+-------------------------------+------------------------------------+
1 row in set (0.00 sec)

        5、将字母转换成小写函数 LOWER(str)或LCASE(str)

        

mysql> SELECT LOWER('ABab'), LCASE('ABNde');
+---------------+----------------+
| LOWER('ABab') | LCASE('ABNde') |
+---------------+----------------+
| abab          | abnde          |
+---------------+----------------+

        6、将字母转换成大写函数 UPPER(str)或 UCASE(str)

mysql> SELECT UPPER('abcde'), UCASE('abcDE');
+----------------+----------------+
| UPPER('abcde') | UCASE('abcDE') |
+----------------+----------------+
| ABCDE          | ABCDE          |
+----------------+----------------+

        7、获取指定长度的字符串函数 LEFT(s,n)、RIGHT(s,n)

         LEFT(s,n) 返回字符串 s 开始的最左边 n 个字符。

         RIGHT(s,n) 返回字符串 s 开始的最右边边 n 个字符。

mysql> SELECT RIGHT('mysql', 3);
+-------------------+
| RIGHT('mysql', 3) |
+-------------------+
| sql               |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT LEFT('mysql', 3);
+------------------+
| LEFT('mysql', 3) |
+------------------+
| mys              |
+------------------+

       8、填充字符串函数 LPAD(s1,len,s2)和RPAD(s1,len,s2)

        LPAD(s1,len,s2) 返回字符串s1,其左边由字符串 s2 填充到 len 字符串长度。如果 s1 的长度大于 len,则返回值被缩短至 len 字符

mysql> SELECT LPAD('hello', 4, '*'), LPAD('hello', 10, '*');
+-----------------------+------------------------+
| LPAD('hello', 4, '*') | LPAD('hello', 10, '*') |
+-----------------------+------------------------+
| hell                  | *****hello             |
+-----------------------+------------------------+

        RPAD(s1,len,s2) 返回字符串s1,其右边由字符串 s2 填充到 len 字符串长度。如果 s1 的长度大于 len,则返回值被缩短至 len 字符

mysql> SELECT RPAD('hello', 4, '*'), RPAD('hello', 10, '*');
+-----------------------+------------------------+
| RPAD('hello', 4, '*') | RPAD('hello', 10, '*') |
+-----------------------+------------------------+
| hell                  | hello*****             |
+-----------------------+------------------------+

        9 、删除空格函数 LTRM(s)、RTRIM(s)、TRIM(s)

        LTRM(s) 返回字符串s,字符串左边空格被删除
        RTRM(s) 返回字符串s,字符串右边空格被删除
        TRIM(s) 删除字符串 s 两边的空格

mysql> SELECT '  hello  ', LTRIM('  hello  '), RTRIM('  hello  '), TRIM('  hello  ');
+-----------+--------------------+--------------------+-------------------+
| hello     | LTRIM('  hello  ') | RTRIM('  hello  ') | TRIM('  hello  ') |
+-----------+--------------------+--------------------+-------------------+
|   hello   | hello              |   hello            | hello             |
+-----------+--------------------+--------------------+-------------------+

        10、删除指定字符串函数 TRIM(s1 from s)

         TRIM(s1 from s) 删除字符串 s 两边所有子字符串 s1。s1可选,在未指定的情况下,删除字符串两边的空格

mysql> SELECT TRIM('ab' FROM 'ababahelloabab');
+----------------------------------+
| TRIM('ab' FROM 'ababahelloabab') |
+----------------------------------+
| ahello                           |
+----------------------------------+

        11、重复生成字符串函数 REPEAT(s,n)

         REPEAT(s,n) 返回一个由重复的字符串 s 组成的字符串,字符串 s 的数量等于 n。如果 n<=0,则返回一个空字符串。如果 s 或 n 为NULL,返回NULL。

mysql> SELECT REPEAT('Abc', 3), REPEAT('Abc', 0), REPEAT('Abc', NULL);
+------------------+------------------+---------------------+
| REPEAT('Abc', 3) | REPEAT('Abc', 0) | REPEAT('Abc', NULL) |
+------------------+------------------+---------------------+
| AbcAbcAbc        |                  | NULL                |
+------------------+------------------+---------------------+

        12、返回空格函数 SPACE(n)

        SPACE(n) 返回一个由 n 个空格组成的字符串。

mysql> SELECT CONCAT('a', SPACE(5), 'b');
+----------------------------+
| CONCAT('a', SPACE(5), 'b') |
+----------------------------+
| a     b                    |
+----------------------------+

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值