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

Oracle:如何根据日期字段条件更新employee表的emp_cus字段

正确的UPDATE语句及说明

完整更新语句

UPDATE employee
SET emp_cus = 
    CASE 
        WHEN EXTRACT(YEAR FROM emp_btdate) = EXTRACT(YEAR FROM SYSDATE) + 1 
        THEN emp_cus + 100 
        ELSE emp_cus + 20
    END;

核心细节解释

  • 提取年份:Oracle中使用EXTRACT(YEAR FROM 字段名)函数,可直接从TIMESTAMP类型的emp_btdate字段中提取年份数值。
  • 判断明年条件:通过EXTRACT(YEAR FROM SYSDATE) + 1获取当前系统时间的下一年年份,与emp_btdate的年份做等值匹配,满足则执行加100的逻辑。
  • 修正ELSE分支:原语句中ELSE直接赋值为20,不符合需求中“给emp_cus加20”的要求,需改为emp_cus + 20,保证是在原有字段值基础上累加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 18:42:05