蜂巢字符串比较不返回任何值

时间:2019-04-02 02:12:05

标签: hive hiveql

当尝试仅选择字符串等于Hive中的值的列时,我返回一个空值。

表的架构如下:

DESCRIBE table_name;
a                       string                                  
b                       int                                     
c                       in

表的内容如下:

SELECT * FROM table_name;
"more"  10  30
"dur"   11  30
"vowww" 13  30

现在,我尝试查询a =“ more”

我正在运行的SELECT ... WHERE查询是:

SELECT * FROM table_name WHERE a='more'

返回的值为空

我也尝试过:

要查看双引号是否有效,查询其他列值是否有效(不可行)

2 个答案:

答案 0 :(得分:2)

查询的结果是:

SELECT * FROM table_name;
"more"  10  30
"dur"   11  30
"vowww" 13  30

此查询将返回正确的值:

SELECT * FROM table_name WHERE a='"more"'

您应该使用"删除regex。 请考虑阅读此答案 Values inserted in hive table with double quotes for string from csv file

答案 1 :(得分:1)

第一次尝试通配符以查看它是否正在获取记录

SELECT * FROM table_name WHERE a like '%more%'

然后,如果它正在获取记录

SELECT * FROM table_name WHERE a='"more"'