cg7910 发表于 2014-5-19 14:26:05

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/ |

kider 发表于 2014-5-20 16:04:00

CHAR_LENGTH(str)
返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。

应该与字符集设置有关,如果是UTF8的,还有可能显示3倍长度...

客户端、连接、服务器3方必须一致。
页: [1]
查看完整版本: char_length为啥 不行呢