反馈已提交

网络繁忙

DATEDIF-日期差

  • 文档创建者:Roxy
  • 历史版本:5
  • 最近更新:Wendy123456 于 2024-07-18
  • 1. 概述

    语法
    DATEDIF(文本/开始日期, 文本/结束日期, 单位)返回两个指定日期间的天数、月数或年数
         参数1文本/开始日期

    开始日期:代表所指定时间段的初始日期

    结束日期:代表所指定时间段的终止日期

         参数2文本/结束日期
        参数3单位

    函数返回信息的类

    • 单位=“Y/y”,则返回年差数

    • 单位=“M/m”,则返回月差数

    • 单位=“W/w”,则返回周差数

    • 单位=“D/d”,则返回日差数

    • 单位=“MD/md”,则忽略年和月,返回日差数

    • 单位=“YM/ym”,则忽略年和日,返回月差数

    • 单位=“YD/yd”,则忽略年,返回日差数

    • 单位=“H”,则忽略年,返回时差数

    • 单位=“mi”,则忽略年,返回分差数

    • 单位=“S”,则忽略年,返回秒差数

    单位要求是常量,不支持字段,可以输入参数

    注1:4.0.30 及之后版本支持通过 DATEDIF 函数算出两个时间相差的周/小时/分钟/秒数;若两个时间差小于 1 周/小时/分钟/秒,则结果是0

    注2:若使用该函数计算指定日期间的月数,不足一月时不想舍去,可使用 Spark SQL 的 months_between 函数

    2. 注意事项

    • 如果参数中有NULL,则结果为NULL

    3. 示例

    公式结果
    备注
    DATEDIF("2001/2/28","2004/3/20","Y")3,即在2001年2月28日与2004年3月20日之间有3个整年
    DATEDIF("2001/2/28","2004/3/20","M")37,即在2001年2月28日与2004年3月20日之间有36个整月
    DATEDIF("2001/2/28","2004/3/20","D")1116,即在2001年2月28日与2004年3月20日之间有1116个整天
    DATEDIF("2001/2/28","2004/3/20","md")8,即忽略月和年后,2001年2月28日与2004年3月20日的差为8天
    DATEDIF("2001/1/28","2004/3/20","YM")2,即忽略日和年后,2001年1月28日与2004年3月20日的差为2个月
    DATEDIF("2001/2/28","2004/3/20","yd")21,即忽略年后,2001年2月28日与2004年3月20日的差为21天

    想要计算两个日期字段之间的间隔天数,例如「到货日期」和「订购日期」之间的间隔天数,新增一个字段,用 DATE 函数计算两者的天数,公式为:DATEDIF(订购日期,到货日期,"D"),如下图所示:

    计算后的日期差如下图所示:

    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持