char_length为啥 不行呢
mysql>select char_length(mobile), mobile from mobile_head;
+---------------------+----------+
| char_length(mobile) | mobile |
+---------------------+----------+
| 8 | 中国联通 |
+---------------------+----------+
1 row in set (0.00 sec)
mysql> show variables like '%char%'
-> ;
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |
CHAR_LENGTH(str)
返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。
应该与字符集设置有关,如果是UTF8的,还有可能显示3倍长度...
客户端、连接、服务器3方必须一致。
页:
[1]