Hive SQL 变量的疑问

X615769472 2021-02-12 07:00:31
请教一个Hive sql 变量的问题, 请帮忙看一下

第一种,运行正常
set hivevar:curr_date ='2017-03-11';
select * from mytable where dt = ${curr_date};


第二种,运行正常,但是不理解为什么将Select语句赋予变量,在后续调用这个变量的时候要这样写。
set hivevar:curr_date = Select Max(dt) from tb_date;
select * from mytable where dt in (${curr_date});


第三种,下面两种写法都报错了,想达到的目的是,从mytable 中取出 curr_date 与 Last_date 之间的数据
set hivevar:curr_date = '2017-03-11';
set hivevar:Last_date = Select Max(dt) from tb_date;

select * from mytable where dt >= ${curr_date} and dt <= (${Last_date});
select * from mytable where dt between ${curr_date} and (${Last_date});
...全文
371 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chongchongone 2021-04-26
  • 打赏
  • 举报
回复
去掉小括号就正确了 select * from mytable where dt >= ${curr_date} and dt <= ${Last_date}; select * from mytable where dt between ${curr_date} and ${Last_date};
飞向海洋的猪 2021-02-18
  • 打赏
  • 举报
回复
错误日志呢,能否发过来看看。

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧