例如,这是我的表,名为example:
--------------------------
| id | en_word | zh_word |
--------------------------
| 1 | Internet| 互联网 |
--------------------------
| 2 | Hello | 你好 |
--------------------------
and so on...我尝试使用这个SQL查询:
SELECT * FROM `example` WHERE LENGTH(`zh_word`) = 3由于某种原因,它不会给我三个字符,但会给我很多单字母字符。
为什么会这样呢?这个问题能解决吗?我在PhpMyAdmin中尝试了一下。
但是当我用JavaScript做这个的时候:
"互联网".length == 3; // true而且它似乎工作得很好。那么为什么它不起作用呢?
发布于 2012-11-27 14:50:04
您应该使用CHAR_LENGTH而不是LENGTH
LENGTH()返回字符串的长度,以字节为单位。
CHAR_LENGTH()返回字符串的长度,以字符为单位。
发布于 2012-11-27 14:51:30
LENGTH返回以字节为单位的长度(中文为多字节)
使用CHAR_LENGTH获取以字符为单位的长度
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_char-length
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_length
https://stackoverflow.com/questions/13578803
复制相似问题