【问题标题】:Extract year from timestamp in hive从 hive 中的时间戳中提取年份
【发布时间】:2021-07-03 06:41:33
【问题描述】:

我正在编写查询以显示特定年份的数据条目。日期存储在 dd/mm/yyyy hh:mm:ss 中。(日期 TIMESTAMP - 例如 12/2/2014 0:00:00)。

我正在尝试显示按特定年份(来自 orderdate 的年份)过滤的两列(name、orderdate)。要求是输入特定年份(2010 年或 2020 年等)而不是整个日期。我尝试将 date_format() 和 regexp_replace() 与 WHERE 一起使用,但没有任何帮助。

有人可以帮我吗?

【问题讨论】:

    标签: sql hadoop hive nosql cloudera


    【解决方案1】:

    如果您将日期(错误地)存储为字符串,那么您可以使用字符串函数来做您想做的事情:

    where orderdate like '__/__/2010%'
    

    但是,您确实应该努力使用正确的格式存储日期——至少对于字符串来说是 YYYY-MM-DD。

    【讨论】:

    • 我使用了 ` where orderdate like '%/2010%' ` 并且成功了。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-06-20
    • 2014-05-25
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多