例如,假设有一个字符串“今天天气真好”,想要截取前4个汉字,可以这样写: SELECT SUBSTR('今天天气真好', 1, 8); 其中,第一个参数是待处理的字符串,第二个参数是开始截取的位置(这里从1开始),第三个参数是截取的长度。
截取出来的结果是“今天天气”,但是出现了问题,因为一个汉字在UTF-8编码中占用3个字节,所以按照字符长度截取会导致截取出现乱码的情况。
为了处理这个问题,需要使用MySQL的内置函数CHAR_LENGTH获取字符串的真实长度(即字符数),并进行修正。因此,截取前4个汉字的代码应该这样写:
SELECT SUBSTR('今天天气真好', 1, CHAR_LENGTH('今天天气真好')-2);
这样就可以正确地获得“今天天气”的结果了。