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)
  1. 替换所有匹配项:与很多编程语言中的 replace 函数行为一致,它会替换 所有 出现的 from_str,而不仅仅是第一个。
  2. 大小写敏感:MySQL 的 REPLACE()大小写敏感 的。'abc''ABC' 被视为不同的子串。
  3. 不修改原字符串:这是一个纯函数,它会返回一个新的字符串,原始字符串 str 本身不会被修改。
  4. 可以嵌套使用REPLACE() 可以嵌套调用,以执行多次替换。
  5. 参数类型:所有参数都应是字符串类型。如果传入数字,MySQL 会将其隐式转换为字符串。
posted @ 2026-06-22 09:43  默默雷  阅读(5)  评论(0)    收藏  举报