MySQL操作字符串函数

在 MySQL 中,常用的字符串操作函数可以分为 截取、修改、查找、拼接、格式化 等类别。以下是常见的字符串函数及其用法:


📌 1. 截取字符串

1.1 LEFT() - 从左侧截取字符

SELECT LEFT('HelloWorld', 5); -- 结果: 'Hello'
  • 提取字符串 HelloWorld 的前 5 个字符。

1.2 RIGHT() - 从右侧截取字符

SELECT RIGHT('HelloWorld', 5); -- 结果: 'World'
  • 提取 HelloWorld 的最后 5 个字符。

1.3 SUBSTRING() - 截取任意部分

SELECT SUBSTRING('HelloWorld', 2, 4); -- 结果: 'ello'
  • 从第 2 个字符开始,截取 4 个字符。
SELECT SUBSTRING('HelloWorld' FROM 6); -- 结果: 'World'
  • 从第 6 个字符开始,截取剩余部分。

1.4 MID() - SUBSTRING() 的别名

SELECT MID('HelloWorld', 2, 4); -- 结果: 'ello'
  • 功能和 SUBSTRING() 相同。

📌 2. 修改字符串

2.1 UPPER() - 转换为大写

SELECT UPPER('hello'); -- 结果: 'HELLO'

2.2 LOWER() - 转换为小写

SELECT LOWER('HELLO'); -- 结果: 'hello'

2.3 LTRIM() - 去除左侧空格

SELECT LTRIM('  hello'); -- 结果: 'hello'

2.4 RTRIM() - 去除右侧空格

SELECT RTRIM('hello  '); -- 结果: 'hello'

2.5 TRIM() - 去除两侧空格

SELECT TRIM('  hello  '); -- 结果: 'hello'

2.6 REPLACE() - 替换字符串

SELECT REPLACE('Hello World', 'World', 'MySQL'); -- 结果: 'Hello MySQL'
  • World 替换为 MySQL

2.7 REPEAT() - 重复字符串

SELECT REPEAT('Hi', 3); -- 结果: 'HiHiHi'

📌 3. 查找字符串

3.1 LENGTH() - 计算字节长度

SELECT LENGTH('你好'); -- 结果: 6
  • LENGTH()字节 计算长度(中文字符占 3 个字节)。

3.2 CHAR_LENGTH() - 计算字符个数

SELECT CHAR_LENGTH('你好'); -- 结果: 2
  • CHAR_LENGTH() 计算的是 字符 数,而不是字节。

3.3 LOCATE() - 查找子字符串位置

SELECT LOCATE('o', 'HelloWorld'); -- 结果: 5
  • 查找 oHelloWorld 中的 第一次 出现位置(从 1 开始)。
SELECT LOCATE('World', 'HelloWorld'); -- 结果: 6
  • WorldHelloWorld 的位置是 6

3.4 POSITION() - 功能类似 LOCATE()

SELECT POSITION('o' IN 'HelloWorld'); -- 结果: 5

📌 4. 拼接字符串

4.1 CONCAT() - 连接多个字符串

SELECT CONCAT('Hello', ' ', 'World'); -- 结果: 'Hello World'

4.2 CONCAT_WS() - 连接多个字符串,带分隔符

SELECT CONCAT_WS('-', '2024', '02', '10'); -- 结果: '2024-02-10'
  • CONCAT_WS()第一个参数是分隔符,后面的字符串用该符号连接。

📌 5. 其他字符串操作

5.1 REVERSE() - 反转字符串

SELECT REVERSE('Hello'); -- 结果: 'olleH'

5.2 FORMAT() - 格式化数字

SELECT FORMAT(1234.5678, 2); -- 结果: '1,234.57'
  • FORMAT(数字, 小数位数),自动 四舍五入 并添加 千分位 逗号。

5.3 SPACE() - 生成空格

SELECT CONCAT('Hello', SPACE(5), 'World'); -- 结果: 'Hello     World'
  • SPACE(5) 生成 5 个空格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值