【问题标题】:Calculate the Age from the DOB从 DOB 计算年龄
【发布时间】:2020-04-28 02:50:34
【问题描述】:

我正在使用 HiveQL,我只需要使用出生日期列来计算年龄,但问题是 GetDate 不起作用,但 Current_Date() 起作用。我正在尝试的示例是

datediff(yy,Dateofbirthcol,current_date()) As Age.

出生日期列看起来像1988-12-14。

【问题讨论】:

  • 也许您应该添加您的整个请求,这将对我们有所帮助
  • @Nina 如果以下答案之一解决了您的问题,请考虑接受并投票。

标签: sql hadoop hive hiveql


【解决方案1】:

尝试以下选项之一。

  1. floor(datediff(to_date(from_unixtime(unix_timestamp())), Dateofbirthcol) / 365.25)

  2. datediff(now(), Dateofbirthcol) / 365.25

【讨论】:

    【解决方案2】:

    不要使用 unix_timestamp(),因为它是 non-deterministic。使用 current_date:

     datediff(current_date, Dateofbirthcol) / 365.25
    

    【讨论】:

    • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常质量更高,更有可能吸引投票。
    • 感谢大家的帮助,很抱歉下次不会这样做了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2022-01-24
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多