[
https://issues.apache.org/jira/browse/HIVE-22177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16928343#comment-16928343
]
philipse commented on HIVE-22177:
---------------------------------
hi,
it seems the special character is not the standard UTF-8 character, so i try
the following tests.
1) i upload the file with the special character to an hive location(hdfs
location) ,the hive query or presto works fine
2) i use an reflect function to encoder it as the UTF-8, and the hive query
works fine
{code:java}
// INSERT INTO t1 select reflect('java.net.URLEncoder', 'encode','£' , "UTF-8");
{code}
{code:java}
// SELECT reflect('java.net.URLDecoder', 'decode',test , "UTF-8") FROM t1
WHERE reflect('java.net.URLDecoder', 'decode',test , "UTF-8") ='£';
+------+--+
| _c0 |
+------+--+
| £ |
| £ |
| £ |
+------+--+
3 rows selected (0.245 seconds)
{code}
the above is my advice,please correct me if i miss sth.
> Beeline query for special character like £ does not give back result
> --------------------------------------------------------------------
>
> Key: HIVE-22177
> URL: https://issues.apache.org/jira/browse/HIVE-22177
> Project: Hive
> Issue Type: Bug
> Components: Beeline
> Affects Versions: 1.1.0, 2.3.6
> Environment: Cloudera 5.15.1 Hive 1.1.0
> beeline and Impala
> Reporter: Sanjay Mishra
> Priority: Major
>
> I have a table in hive with a column having special character like £. When I
> try to a query as simple as 'SELECT * FROM TABLE WHERE COL = "£"; ', the
> query does not come back with any result.
> The table data is UTF-8 encoded. The sql file that contains the above sql and
> run via beeline is also UTF-8 encoded.
> Interestingly, if I try to create the run the same query using impala against
> the same table, I get back the columns containing the £ symbol.
> Also when the data from the table is exported (SELECT * FROM THE TABLE and
> save the output to csv file) the column with special character is shown as
> NULL.
>
> Steps to replicate:
> # create test.sql file with the below content:
> #
> {code:java}
> CREATE TABLE T1 (test String);
> INSERT INTO T1 VALUES('£');
> {code}
> # beeline>!run test.sql
> # create another file test_select.sql with the below content:
> #
> {code:java}
> SELECT * FROM T1 WHERE test='£';{code}
> # beeline>!run test_select.sql
> # No results will be returned back
--
This message was sent by Atlassian Jira
(v8.3.2#803003)