You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于hire_date与sysdate的年限差判定初级、高级员工的SQL问题

调整后的查询语句

SELECT 
    first_name,
    TRUNC(MONTHS_BETWEEN(SYSDATE, hire_date) / 12) AS work_years,
    CASE
        WHEN TRUNC(MONTHS_BETWEEN(SYSDATE, hire_date) / 12) BETWEEN 0 AND 2 THEN '初级'
        WHEN TRUNC(MONTHS_BETWEEN(SYSDATE, hire_date) / 12) BETWEEN 3 AND 5 THEN '高级'
        ELSE '司龄超过5年'
    END AS rank_level
FROM employees;

逻辑说明

  • 用CASE WHEN条件分支匹配司龄和职级规则,你如果不需要展示具体司龄数值,可以直接删除work_years对应的输出字段
  • 超过5年的返回值可以根据实际需求修改,如果不需要展示司龄超过5年的员工,可在语句末尾加过滤条件:
WHERE TRUNC(MONTHS_BETWEEN(SYSDATE, hire_date) / 12) <= 5

内容的提问来源于stack exchange,提问作者Tatanmmm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:45:03