create table testabc(
a Number,
b Date
);
insert into testabc(a,b) values(1, TO_DATE('1-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI'));
insert into testabc(a,b) values(1, TO_DATE('2-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI'));
insert into testabc(a,b) values(1, TO_DATE('3-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI'));
insert into testabc(a,b) values(1, TO_DATE('4-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI'));
insert into testabc(a,b) values(1, TO_DATE('5-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI'));
insert into testabc(a,b) values(1, TO_DATE('6-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI'));
select a,b,decode(sign(b - TO_DATE('3-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI')), -1, 'his', 1, 'cur', 'his') as type from testabc;
select a,b,case when b <= TO_DATE('3-MAY-2010/00:00', 'DD-MON-YYYY/HH24:MI') then 'his' else 'cur' end type from testabc;
drop table testabc;
In theory, case when will have a better performance.
分享到:
相关推荐
Oracle的DECODE函数是一种条件表达式,用于在SQL语句中执行类似于IF...THEN...ELSE逻辑判断的功能。它根据一个指定的表达式的值,与一系列的条件进行比较,如果匹配到某个条件,则返回对应的值;如果没有匹配任何...
### Oracle中Decode()函数的有关用法 #### 一、Decode()函数简介 在Oracle数据库中,`DECODE()`函数是一种非常实用的功能,主要用于条件判断并返回特定的值。它提供了一种简单的方法来实现多分支逻辑判断,尤其是...
在Oracle数据库中,`DECODE`函数是一个简洁的三参数函数,它允许我们根据一个表达式的值来返回另一个值。基本语法如下: ```sql DECODE(expression, value1, result1, [value2, result2, ...], [default_result]) `...
Oracle中的Decode()函数是数据库查询时非常实用的一个工具,它允许你在SQL语句中实现简单的条件判断,类似于IF-THEN-ELSE逻辑。这个函数在处理数据时提供了灵活性,避免了复杂的CASE语句,使得代码更加简洁易读。...
Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...
Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解。 Oracle DECODE函数 Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的...
在某些情况下,DECODE函数可能不如CASE语句灵活,但其简洁性使其在简单条件判断时特别有用。例如,将某个字段的值进行映射,如将'DIR'字段的值1映射为0,0映射为1: ```sql SELECT DECODE(DIR, 1, 0, 0, 1) FROM a1_...
例如,当你需要按照特定顺序(如自定义的字母顺序或数值顺序)对非数字字段进行排序时,可以借助`DECODE`函数或`CASE-WHEN`语句来实现自定义排序。下面将详细介绍这两种方法。 1. **DECODE函数** Oracle的`DECODE`...
然而,在面对复杂的多条件组合统计需求时,`DECODE`函数的应用可能会变得相对繁琐,这时往往更倾向于使用`CASE WHEN`语句或创建视图的方法来解决。不过,如果出于特定原因需要坚持使用`DECODE`函数,那么了解如何...
在实际工作中,你可能还需要结合其他SQL函数,如CASE WHEN或NVL,来进一步增强DECODE的功能。例如,当你需要处理可能的NULL值时,NVL函数可以提供一个默认值,防止因NULL而导致的结果异常。 总之,Oracle的DECODE...
博客:PostgreSQL的学习心得和知识总结(四十四)|语法级自上而下完美实现Oracle数据库DECODE函数的实现方案(GreenPlum & AntDB)
在Oracle中,可先使用`CASE WHEN`或`DECODE`函数进行分层,再结合`SAMPLE`函数来实现。 ### 二、Oracle中的抽样技巧 Oracle提供了内置的`SAMPLE`函数,可以直接用于实现抽样。例如: ```sql SELECT * FROM (SELECT...
除了DECODE,Oracle还提供了其他类似的函数,如NVL(用于处理NULL值)、COALESCE(也用于处理NULL值,但支持多个参数,当第一个非NULL参数出现时返回)以及CASE表达式,它们都是在SQL查询中处理复杂逻辑的利器。...
### Oracle的DECODE函数详解 #### 一、DECODE函数简介 在Oracle数据库中,`DECODE`函数是一种非常实用的条件判断函数,其功能类似于编程语言中的`IF`语句。通过比较输入值与一系列预设值,该函数能够根据匹配情况...
`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ANSI 标准而更受推荐使用。 #### 二、基本结构 `CASE WHEN` 语句的基本结构如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ...
Oracle中的DECODE函数是一个非常实用的工具,它允许我们在SQL查询中进行条件判断,并返回相应的值。DECODE函数的基本语法如下: ```sql DECODE(value, if1, then1, if2, then2, ..., else) ``` 1. **DECODE用于...