巨坑:impala与hive中文字符长度不同带来的坑

在hive中,一个中文字符长度为1,

在impala中,一个中文字符长度为3!!!,这样,如果在impala中用substr()函数或者substring() 函数截取带有中文字符的字符串时,就不能把中文字符当成一个字符长度来处理,否则就会出现问题。

例如想要把‘你好2020’中的你好截取掉得到2020,应该是

select   substring('你好2020',7)

而不是

select   substring ('你好2020',3)

posted @ 2020-10-27 09:39  鼬手牵佐手  阅读(2819)  评论(0)    收藏  举报