暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL8.0常用字符串函数用法

MySQL8.0常用字符串函数用法

字符串函数是常用的一种函数,以下列出了常用字符串函数。

函数 功能
CONCAT(s1,s2,…,sn) 连接 s1,s2,…,sn 为一个字符串
INSERT(str,x,y,instr) 将字符串 str 从第 x 位置开始,y 个字符长的子串替换为字符串 instr
LOWER(str) 将字符串 str 中所有字符变为小写
UPPER(str) 将字符串 str 中所有字符变为大写
LEFT(str,x) 返回字符串 str 最左边的 x 个字符
RIGHT(str,x) 返回字符串 str 最右边的 x 个字符
LPAD(str,n,pad) 用字符串 pad 对 str 最左边进行填充,直到长度为 n 个字符长度
RPAD(str,n,pad) 用字符串 pad 对 str 最右边进行填充,直到长度为 n 个字符长度
LTRIM(str) 去掉字符串 str 左侧的空格
RTRIM(str) 去掉字符串 str 行尾的空格
REPEAT(str,x) 返回 str 重复 x 次的结果
REPLACE(str,a,b) 用字符串 b 替换字符串 str 中所有出现的字符串 a
STRCMP(s1,s2) 比较字符串 s1 和 s2
TRIM(str) 去掉字符串行尾和行头的空格
SUBSTRING(str,x,y) 返回从字符串 str x 位置起 y 个字符长度的字符串

MySQL字符串函数详解

1.CONCAT函数

语法CONCAT(s1, s2, ..., sn)
功能:将多个字符串连接成一个字符串。
示例

SELECT CONCAT('aaa', 'bbb', 'ccc'), CONCAT('aaa', NULL);

结果

mysql> SELECT CONCAT('aaa', 'bbb', 'ccc'), CONCAT('aaa', NULL);
+-----------------------------+---------------------+
| CONCAT('aaa', 'bbb', 'ccc') | CONCAT('aaa', NULL) |
+-----------------------------+---------------------+
| aaabbbccc                   | NULL                |
+-----------------------------+---------------------+
1 row in set (0.00 sec)

注意:任何字符串与NULL连接结果均为NULL。

2.INSERT函数

语法INSERT(str, x, y, instr)
功能:将字符串str从第x位开始、长度为y的子串替换为instr
示例

SELECT INSERT('beijing2008you', 12, 3, 'me');

结果

mysql> SELECT INSERT('beijing2008you', 12, 3, 'me');
+---------------------------------------+
| INSERT('beijing2008you', 12, 3, 'me') |
+---------------------------------------+
| beijing2008me                         |
+---------------------------------------+
1 row in set (0.00 sec)

3.LOWER与UPPER函数

LOWER(str):将字符串转为小写。
UPPER(str):将字符串转为大写。
示例

SELECT LOWER('BEIJING2008'), UPPER('beijing2008');

结果

mysql> SELECT LOWER('BEIJING2008'), UPPER('beijing2008');
+----------------------+----------------------+
| LOWER('BEIJING2008') | UPPER('beijing2008') |
+----------------------+----------------------+
| beijing2008          | BEIJING2008          |
+----------------------+----------------------+
1 row in set (0.00 sec)

4.LEFT与RIGHT函数

LEFT(str, x):返回字符串最左边的x个字符。
RIGHT(str, x):返回字符串最右边的x个字符。
注意:若第二个参数为NULL,则不返回任何字符。
以下是基于图片内容的文本格式整理:

SQL语句

SELECT LEFT('beijing2008',7), LEFT('beijing',NULL), RIGHT('beijing2008',4);

执行结果

mysql> SELECT LEFT('beijing2008',7), LEFT('beijing',NULL), RIGHT('beijing2008',4);
+-----------------------+----------------------+------------------------+
| LEFT('beijing2008',7) | LEFT('beijing',NULL) | RIGHT('beijing2008',4) |
+-----------------------+----------------------+------------------------+
| beijing               | NULL                 | 2008                   |
+-----------------------+----------------------+------------------------+
1 row in set (0.00 sec)

5.LPAD/RPAD函数说明

语法
LPAD(str, n, pad):用pad字符串左填充str至总长度n
RPAD(str, n, pad):用pad字符串右填充str至总长度n

SQL语句

SELECT LPAD('2008',20,'beijing'), RPAD('beijing',20,'2008');

执行结果

mysql> SELECT LPAD('2008',20,'beijing'), RPAD('beijing',20,'2008');
+---------------------------+---------------------------+
| LPAD('2008',20,'beijing') | RPAD('beijing',20,'2008') |
+---------------------------+---------------------------+
| beijingbeijingbe2008      | beijing2008200820082      |
+---------------------------+---------------------------+
1 row in set (0.00 sec)

6.空格处理函数

LTRIM(str)
• 功能:去除字符串左侧空格
RTRIM(str)
• 功能:去除字符串右侧空格
示例

SELECT LTRIM(' beijing'), RTRIM('beijing '); mysql> SELECT LTRIM(' beijing'), RTRIM('beijing '); +--------------------+--------------------+ | LTRIM(' beijing') | RTRIM('beijing ') | +--------------------+--------------------+ | beijing | beijing | +--------------------+--------------------+ 1 row in set (0.00 sec)

7. REPEAT函数

语法REPEAT(str, count)
• 功能:重复生成指定次数字符串
示例

SELECT REPEAT('abc', 3); mysql> SELECT REPEAT('abc', 3); +------------------+ | REPEAT('abc', 3) | +------------------+ | abcabcabc | +------------------+ 1 row in set (0.00 sec)

8.REPLACE函数

语法REPLACE(str, a, b)
• 功能:将字符串str中所有子串a替换为b
示例

SELECT REPLACE('beijing_2010', '2010', '2008');

执行结果

mysql> SELECT REPLACE('beijing_2010', '2010', '2008');
+-----------------------------------------+
| REPLACE('beijing_2010', '2010', '2008') |
+-----------------------------------------+
| beijing_2008                            |
+-----------------------------------------+
1 row in set (0.00 sec)

9.STRCMP函数

语法STRCMP(s1, s2)
• 比较规则:
• 返回-1:s1的ASCII码 < s2
• 返回0:s1 = s2
• 返回1:s1的ASCII码 > s2
示例

SELECT STRCMP('a','b'), STRCMP('b','b'), STRCMP('c','b');

执行结果

mysql> SELECT STRCMP('a','b'), STRCMP('b','b'), STRCMP('c','b');
+-----------------+-----------------+-----------------+
| STRCMP('a','b') | STRCMP('b','b') | STRCMP('c','b') |
+-----------------+-----------------+-----------------+
|              -1 |               0 |               1 |
+-----------------+-----------------+-----------------+
1 row in set (0.00 sec)

10.TRIM函数

语法TRIM(str)
• 功能:同时去除字符串首尾空格
示例

SELECT TRIM(' beijing2008 ');

执行结果

mysql> SELECT TRIM('   beijing2008   ');
+---------------------------+
| TRIM('   beijing2008   ') |
+---------------------------+
| beijing2008               |
+---------------------------+
1 row in set (0.00 sec)

## 11.MySQL SUBSTRING 函数详解

函数定义
**语法**:`SUBSTRING(str, x, y)`  
**功能**:提取字符串`str`中从第`x`个位置开始,长度为`y`的子串  
**参数说明**:
• `str`:原始字符串
• `x`:起始位置(从1开始计数)
• `y`:要提取的字符长度

**SQL语句**:
```sql
SELECT 
    SUBSTRING('beijing2008', 8, 4) AS example1,
    SUBSTRING('beijing2008', 1, 7) AS example2;

执行结果

mysql> SELECT
    ->     SUBSTRING('beijing2008', 8, 4) AS example1,
    ->     SUBSTRING('beijing2008', 1, 7) AS example2;
+----------+----------+
| example1 | example2 |
+----------+----------+
| 2008     | beijing  |
+----------+----------+
1 row in set (0.00 sec)
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论