mysql substr问题

这是sql
SELECT sp.productType, LENGTH(sp.productType) as len, SUBSTR(sp.productType FROM 1 FOR (LENGTH(sp.productType) - 1)) as sub,
LENGTH(SUBSTR(sp.productType FROM 1 FOR (LENGTH(sp.productType)-11))) as sublen FROM DigiOneProductCenter.sale_product sp WHERE sp.productType LIKE '%(预付版)' LIMIT 50;
这是sql执行的结果

[img]http://dl.iteye.com/upload/attachment/0077/9272/1e636fd7-eba6-3bf3-9e92-fc58376cf99d.png[/img]

为什么没有改变字符的长度。

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

LENGTH(str)
返回值为字符串str 的长度,单位为字节。一个多字节字符算作多字节。这意味着 对于一个包含5个2字节字符的字符串, LENGTH() 的返回值为 10, 而 CHAR_LENGTH()的返回值则为5。

请使用CHAR_LENGTH