2016-11-09 95 views
0

Hive INSTR函数在使用UTF8字符的字符串上工作不正确。当重音字符是字符串的一部分时,INSTR将为后续字符返回不正确的字符位置。它似乎是计数字节而不是字符。Hive INSTR函数在UTF8字符串上工作不正确

随着重音字符作为字符串的一部分,它返回8

select INSTR("Réservation:", 'a'); returns 8 

没有重音字符作为字符串的一部分,它返回7

select INSTR("Reservation:", 'a'); returns 7 

是否有一个固定到这个或复用功能我可以使用?

回答

2

这就是我与蜂巢1.1.0获取,

hive>select INSTR("Réservation:", 'a'); 
OK 
7 

所以没有与蜂巢的问题。如果您仍然需要使用INSTR编写自己的UDF来实现此目的。编写UDF请参考以下链接,

Click here for UDF