2016-11-09 233 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