【问题标题】:hive string comparison is not returning any values蜂巢字符串比较不返回任何值
【发布时间】:2021-01-10 02:20:23
【问题描述】:

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

表的架构如下:

DESCRIBE table_name;
a                       string                                  
b                       int                                     
c                       int

表格内容如下:

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

现在我尝试查询 where a="more"

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

SELECT * FROM table_name WHERE a='more'

返回值为空

我也试过了:

查看双引号是否有效,查询其他列值是否有效(无效)

【问题讨论】:

    标签: hive hiveql


    【解决方案1】:

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

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

    那么如果它正在获取记录

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

    【讨论】:

      【解决方案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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多