易错点——length与char_length的区别

  1. length:
  • utf8字符集编码下,1汉字=3字符,1数字/字母=1字符
  • 其他编码下,1汉字=2字符,1数字/字母=1字符
  1. char_length:
  • 汉字/数字/字母=1字符
  • 任何编码下,多字节字符(如汉字)=1字符
select uid,if(char_length(nick_name)>13,
              concat(substring(nick_name,1,10),'...'),nick_name) 
              as nick_name
from user_info
where char_length(nick_name)>10