问题描述
这是sqlSELECT 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执行的结果为什么没有改变字符的长度。
解决方案
CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。 LENGTH(str) 返回值为字符串str 的长度,单位为字节。一个多字节字符算作多字节。这意味着 对于一个包含5个2字节字符的字符串, LENGTH() 的返回值为 10, 而 CHAR_LENGTH()的返回值则为5。请使用CHAR_LENGTH
时间: 2024-09-20 12:14:09