TRIM() 函数是 MySQL 中一个非常实用的字符串处理函数,主要用于清理字符串首尾的"杂质"。在数据清洗、处理用户输入或格式化输出时,它算得上是一个得力的"清洁工具"。
✂️ 函数基础语法
TRIM() 的标准语法格式如下:
sql
TRIM([{BOTH | LEADING | TRAILING} [removed_str] FROM] target_str)
参数说明:
- target_str:要处理的原始字符串。
- removed_str:【可选】 要去除的字符。默认不去指定时,TRIM() 会去除字符串首尾的空格。它可以是单个字符,也可以是多个字符。
- BOTH | LEADING | TRAILING:【可选】 指定去除操作的方向,如果不指定,默认为 BOTH。
- BOTH:同时去除字符串首尾的字符。
- LEADING:只去除字符串开头(左侧)的字符。
- TRAILING:只去除字符串结尾(右侧)的字符。
下面这张图可以帮你直观地理解这三个参数的作用:
💻 实战场景示例
下面结合代码,看看它在具体开发场景中如何发挥作用。
① 清理数据的前缀/后缀特定字符
当数据中存在不需要的特定符号时,可以直接"裁剪"。比如,去除订单号前后的星号:
sql
--去除字符串开头的星号
SELECT TRIM(LEADING '*' FROM '***ORDER_001');
运行结果:
text
ORDER_001
你也可以指定要去除多个字符组成的字符串。
② 数据清洗:批量更新字段
数据导入后,通常会批量清理表中的不规范数据,比如去除昵称字段中不必要的符号和空格:
sql
--去除某个字段两端的空格和指定符号
UPDATE users SET username = TRIM(BOTH '#' FROM username);