【问题标题】:How to calculate the number of days dynamically (Oracle SQL)如何动态计算天数(Oracle SQL)
【发布时间】:2022-12-13 21:18:41
【问题描述】:

考虑到 28、29、30 和 31 个月,我正在尝试计算 sysdate 和 hire_date 列之间的年数、月数和天数

我已经设法计算了年份和月份,但我需要你的帮助来计算天数。

到目前为止,这是代码。

`

SELECT employee_id, last_name, hire_date,
            trunc(   months_between(sysdate, hire_date) / 12  ) as years,
                    trunc(mod(  months_between(sysdate, hire_date) , 12 ))          as remaining_months
FROM employees;

`

提前致谢。

我已经计算了年份和月份,我需要帮助计算天数以及可能如何计算它。

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    这很简单

    select (SYSDATE - Hire_date)+1 from your_table
    

    【讨论】:

      【解决方案2】:

      您可以将已经计算出的完整月/年数添加到 hire_date,然后找到从该日期到当前日期的天数:

      SELECT employee_id,
             last_name,
             hire_date,
             trunc(months_between(sysdate, hire_date) / 12) as years,
             trunc(mod(months_between(sysdate, hire_date) , 12)) as remaining_months
             TRUNC(SYSDATE) - ADD_MONTHS(hire_date, trunc(months_between(sysdate, hire_date))
               AS remaining_days
      FROM   employees;
      

      【讨论】:

        猜你喜欢
        • 2021-10-31
        • 2020-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多