
# 使用substring截取带中文的数据时出现乱码
#### 问题现象
客户需要查询某张表的name字段，返回的数据中只截取到"学年"及以前部分，使用substring函数实现时出现乱码，如下图所示。
![](https://support.huaweicloud.com/trouble-dws/figure/zh-cn_image_0000001466048305.png "点击放大")
#### 原因分析
UTF-8字符集编码下，一个中文占3个字节，如需获取结果显示为"2014-2015学年"，应该是获取前面15位，应设置为substring(name, 1, 15)。
#### 处理方法
将查询语句修改为如下即可。
```
SELECT substring (name,1,15),name FROM result;
```
![](https://support.huaweicloud.com/trouble-dws/figure/zh-cn_image_0000001466287573.png "点击放大")
