首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Impala中,什么相当于ORACLE的SYSDATE?

在Impala中,什么相当于ORACLE的SYSDATE?
EN

Stack Overflow用户
提问于 2014-07-04 22:07:13
回答 2查看 10.2K关注 0票数 2

我有一个WHERE子句,我正尝试将其从ORACLE SQL转换为Impala SQL。col2的输出类似于201406。我需要让它对Impala可读,然后格式化它,然后将它转换为字符串。任何帮助都将不胜感激!

代码语言:javascript
复制
WHERE Table1.col2 <= to_char( SYSDATE-7, 'YYYYMM')
EN

回答 2

Stack Overflow用户

发布于 2014-07-07 15:29:07

current_timestamp()是now()的别名,因此可以使用这两个别名中的任何一个来代替sysdate

SYSDATE-7是sysdate减去7天,因此WHERE Table1.col2 <= to_char( SYSDATE-7, 'YYYYMM')的等价物是

代码语言:javascript
复制
WHERE Table1.col2 <= concat( cast(year(to_date( days_add(current_timestamp(),-7 ))) as string), cast(month(to_date( days_add(current_timestamp(),-7 ) )) )

或者如果扣除额是7个月,那么:

代码语言:javascript
复制
concat( cast(year(to_date( months_add(current_timestamp(),-7 ))) as string), cast(month(to_date( months_add(current_timestamp(),-7 ) )) )

注意,这一切都是未经测试的,我使用了days_add()或months_add(),因为很多人喜欢使用负7而不是带正7的days_sub()。然而,我假设这是可行的(这适用于具有类似日期算术函数的MySQL )。

还要注意,这意味着你的字段Table1.col2是一个字符串类型,如果它是一个整数,那么需要一个稍微不同的解决方案。

代码语言:javascript
复制
year( months_add(current_timestamp(),-7 ) ) * 100 + month(days_add(current_timestamp(),-7 ))

year( months_add(current_timestamp(),-7 ) ) * 100 + month(months_add(current_timestamp(),-7 ))
票数 3
EN

Stack Overflow用户

发布于 2018-01-22 23:09:17

使用以下语法:

代码语言:javascript
复制
select from_unixtime(unix_timestamp(now()), 'yyyy-MM-dd')
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24576120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档