sql问题

工作的年数、工作的天数怎么算

SQL 在菜鸟的菜鸡 发布于 2024-3-6 11:20
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-3-6 11:29

DATEDIF(start_date,end_date,unit,method):返回两个指定日期间的天数、月数或年数。

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

End_date:代表所指定时间段的终止日期。

Unit:函数返回信息的类型。

method:可选参数,默认返回日期差值的绝对值。

若unit="Y",则DATEDIF返回指定时间段的年差数。

若unit="M",则DATEDIF返回指定时间段的月差数。

若unit="D",则DATEDIF返回指定时间段的日差数。

若unit="MD",则DATEDIF忽略年和月,返回指定时间段的日差数。

若unit="YM",则DATEDIF忽略年和日,返回指定时间段的月差数。

若unit="YD",则DATEDIF忽略年,返回指定时间段的日差数。

若method=1,则DATEDIF返回日期差值的绝对值。

若method=-1,则DATEDIF返回日期差值时,会考虑正负情况。

示例:

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天。

最佳回答
0
HHHHH123Lv7中级互助
发布于2024-3-6 11:29

SELECT 

    DATEDIFF(end_date, start_date) AS work_days,

    YEAR(end_date) - YEAR(start_date) AS work_years

FROM 

    employment_history;

  • 3关注人数
  • 164浏览人数
  • 最后回答于:2024-3-6 11:29
    请选择关闭问题的原因
    确定 取消
    返回顶部