mysql length()、 char_length()、 replace()
1 LENGTH(str) 和 CHAR_LENGTH()
| 特性 | LENGTH() |
CHAR_LENGTH() |
|---|---|---|
| 计算单位 | 字节 (Bytes) | 字符 (Characters) |
| 对"你好"的返回值 (UTF-8) | 6 | 2 |
| 主要用途 | 计算存储空间、处理二进制数据 | 验证输入长度(如用户名、评论字数)、文本分析 |
| 别名/同义词 | OCTET_LENGTH() |
CHARACTER_LENGTH() |
LENGTH()
- 对多字节字符的影响:在使用UTF-8编码时,一个英文字母或数字占1个字节,而一个汉字通常占3个字节。
- 包含空格:计算时会包含字符串中的空格。
2 REPLACE()
REPLACE(str, from_str, to_str)
- 替换所有匹配项:与很多编程语言中的
replace函数行为一致,它会替换 所有 出现的from_str,而不仅仅是第一个。 - 大小写敏感:MySQL 的
REPLACE()是 大小写敏感 的。'abc'和'ABC'被视为不同的子串。 - 不修改原字符串:这是一个纯函数,它会返回一个新的字符串,原始字符串
str本身不会被修改。 - 可以嵌套使用:
REPLACE()可以嵌套调用,以执行多次替换。 - 参数类型:所有参数都应是字符串类型。如果传入数字,MySQL 会将其隐式转换为字符串。

浙公网安备 33010602011771号