oracle判断系统时间与程序时间是否为当天,如果是返回‘yes’,如果不是返回‘no’,其他情况返回‘error’。

在 Oracle 中,CASE 语句主要用于实现条件判断和分支逻辑。它有两种形式:简单 CASE 表达式和搜索 CASE 表达式。

  1. 简单 CASE 表达式:
简单 CASE 表达式用于对一个表达式进行比较,并根据不同的结果执行不同的操作。

语法如下:

CASE 表达式
     WHEN1 THEN 表达式1
     WHEN2 THEN 表达式2
     ...
     ELSE 表达式N
END

示例:

示例中,根据 employees 表中的 department_id 列的值不同,返回不同的部门名称。
SELECT 
     CASE department_id
          WHEN 10 THEN 'Accounting'
          WHEN 20 THEN 'Research'
          WHEN 30 THEN 'Sales'
          ELSE 'Other'
     END AS department_name
FROM employees;
  1. 搜索 CASE 表达式:
搜索 CASE 表达式用于在一系列条件中找到匹配的条件执行相应的操作。

语法如下:

CASE
     WHEN 条件1 THEN 表达式1
     WHEN 条件2 THEN 表达式2
     ...
     ELSE 表达式N
END

示例1:

示例中,根据 employees 表中的 salary 列的值不同,返回不同的薪资水平。
SELECT 
     CASE 
          WHEN salary < 5000 THEN 'Low'
          WHEN salary >= 5000 AND salary < 10000 THEN 'Medium'
          WHEN salary >= 10000 THEN 'High'
     END AS salary_level
FROM employees;

示例2:

判断系统时间与程序时间是否为当天,如果是返回‘yes’,如果不是返回‘no’,其他情况返回‘error’。
select case 
when (select TO_CHAR(substr(DATE,0,14)) from SYSCONFIG) = (SELECT RPAD((SELECT TO_CHAR(SYSDATE,'YYYYMMDD') from dual ),14,'0') FROM dual)  then 'yes' 
when (select TO_CHAR(substr(DATE,0,14)) from SYSCONFIG) != (SELECT RPAD((SELECT TO_CHAR(SYSDATE,'YYYYMMDD') from dual ),14,'0') FROM dual) then 'no' 
ELSE 'error' end demo from dual t;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值