首页 > 解决方案 > 在配置单元表上执行“选择转换”时出错

问题描述

我想在 hive 表上执行这个 sql 查询:

select * from sampleDB.sampleTable 
  where sampleDate>=(select convert(DATE, dateadd(MONTH,-6,getdate())));

但我收到此错误:Error while compiling statement: FAILED: parse exception line 1:64 cannot recognize input near 'select' 'convert' '(' in expression specification (state=42000,code=40000)

有人可以帮助我了解如何实现这一目标吗?基本上我想过滤日期,比如从当前日期起 6 个月。

谢谢!

标签: sqlhiveql

解决方案


Hive 不支持仅 >= 在子查询中它仅支持以下类型的子查询

  1. 标量子查询

  2. IN 子查询

  3. 存在子查询

您可以使用 da在此处输入链接描述teformate实现相同的目的

select * from sampleDB.sampleTable 
  where sampleDate>= date_format(current_date - interval '7' day,'%Y-%m-%d') ;

推荐阅读