sign函数介绍
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
SQL> select sign( 100 ),sign(- 100 ),sign( 0 ) from dual;
SIGN(123 ) SIGN(- 100 ) SIGN( 0 )
--------- ---------- ---------
1 - 1 0
Java代码
SQL> select sign(100),sign(-100),sign(0) from dual;
SIGN(123) SIGN(-100) SIGN(0)
--------- ---------- ---------
1 -1 0
=========================================================
decode函数介绍
假设我们想给智星职员加工资,其标准是:工资在8000元以下的加20%;工资在8000元或以上的加15%,通常的做法是,先选出记录中的工资字段值? select salary into var-salary from employee,然后对变量var-salary用if-then-else或choose case之类的流控制语句进行判断。 如果用DECODE函数,那么我们就可以把这些流控制语句省略,通过SQL语句就可以直接完成。如下:
select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary) from employee 是不是很简洁? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。 需要注意的是,这里的if、then及else 都可以是函数或计算表达式。
case函数介绍
case 是SQL国际标准就有的,他的作用就是实现条件语句(如同一般计算机语言中的if和switch……case)按照不同的使用方法case有两种语法:
1.简单case语法是
就是实现相当于一般计算机语言中switch……case样式的,格式是
case 变量表达式 --对某个‘变量表达式’进行判断
when 值 --当‘变量表达式’是某个‘值’时
then 返回值表达式 --返回‘返回值表达式’值
[when...
then...
.....] --可以进行多次判断
[else 其他情况返回值表达式] --不符合所有when后面的就是其他情况了
end --结束
举例,比如一个表的sex列用M表示男性,F表示女性,现在不要返回MF而是想返回男女就可以:
select (case sex when 'M' then '男' when 'F' then '女' end) from 表
2 case搜索函数
就是实现相当于一般计算机语言中if……elseif……样式的,格式是
case --case后面没有表达式表示使用的是搜索函数
when 条件 --条件就是布尔表达式,也就判断语句
then 返回值表达式 --条件为真时的返回该表达式值
[when ...
then ...
.........] --可以进行多次判断
[else 其他情况返回值表达式]--不符合所有when后面的就是其他情况了
end -- 结束
同样的以性别为例
select (case when sex='M' then '男' when sex = 'F' then '女' end) from 表
分享到:
相关推荐
Oracle中的DECODE函数是一种非常实用的工具,它允许你在SQL查询中执行简单的条件判断和返回相应的值。这个函数类似于IF-THEN-ELSE语句的简写形式,减少了编写复杂逻辑的代码量,使得SQL语句更加简洁易读。 DECODE...
DECODE函数是Oracle中的一个条件分支函数,它的功能类似于编程语言中的if-else if-else语句。DECODE函数的格式为: ``` DECODE(字段或表达式, 值1, 结果1, 值2, 结果2, ... , 默认结果) ``` 如果字段或表达式的值...
Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...
Oracle中的DECODE函数是一个非常实用的工具,它允许我们在SQL查询中进行条件判断,并返回相应的值。DECODE函数的基本语法如下: ```sql DECODE(value, if1, then1, if2, then2, ..., else) ``` 1. **DECODE用于...
Decode函数是Oracle数据库中用于实现条件逻辑的一个内置函数,它类似于编程语言中的switch-case语句或if-then-else语句。Decode函数可以对给定的表达式进行多个条件判断,并返回匹配条件的相应值。Decode函数广泛...
1. **DECODE函数**: DECODE函数用于根据提供的条件返回不同的值。它类似于if...else语句的简写形式。例如,`DECODE(column, value1, result1, value2, result2, ..., default_result)`,如果`column`等于`value1`...
DECODE 函数的应用非常广泛,例如,在 Oracle 系统中就有许多数据字典是使用 DECODE 思想设计的,比如记录会话信息的 V$SESSION 数据字典视图。我们可以使用 DECODE 函数来实现表的转置,例如: select sid, serial...
在Oracle数据库中,函数是一类预定义的子程序,它可以对输入参数执行运算,并返回一个结果值。Oracle提供了一系列的函数,用于处理不同类型的数据,如字符串、数字、日期和时间等。下面按照文档所提供的内容,详细...
#### 二、DECODE函数:条件判断与转换 **功能描述**:`DECODE`函数用于实现多条件判断,类似于编程语言中的`switch-case`语句。其语法如下: ``` DECODE(条件, 值1, 翻译值1, 值2, 翻译值2, ..., 值n, 翻译值n, ...
本文将详细介绍Oracle中的一些常用函数及其应用场景。 #### 数值型函数 1. **ABS(X)**:此函数返回X的绝对值。例如,如果X为-5,则返回5。 2. **CEIL(X)**:该函数返回大于或等于X的最小整数。例如,如果X为3.2...
Oracle的Decode()函数是PL/SQL中的一个非常实用的工具,尤其对于简化SQL查询和处理逻辑判断具有显著的优势。此函数允许我们在不使用复杂的IF-THEN-ELSE或CASE语句的情况下,实现条件判断和值的转换。由于Oracle是...
下面将详细解释标题和描述中提到的部分Oracle函数及其应用场景。 #### 1. 取系统时间和日期相关函数 - `SYSDATE`: 返回系统的当前日期和时间。 - 示例:`SELECT SYSDATE FROM DUAL;` - `LAST_DAY`: 返回指定日期...
例如,`DECODE`函数允许用户在SQL查询中进行条件判断,类似于其他编程语言中的switch-case语句。它可以在查询中根据字段值的不同返回不同的结果。同样,Oracle中的`CASE`语句也可以实现类似的条件逻辑判断。`SIGN`...
第16章 DECODE和CASE.SQL中的if-fhen-else 第17章 创建和管理表、视图、索引、群集和序列 第18章 分区 第19章 Oracle基本安全 第Ⅲ部分 高级主题 第20章 高级安全性-虚拟专用数据库 第21章 高级安全性:透明数据加密...
第16章 DECODE和CASE.SQL中的if-fhen-else 第17章 创建和管理表、视图、索引、群集和序列 第18章 分区 第19章 Oracle基本安全 第Ⅲ部分 高级主题 第20章 高级安全性-虚拟专用数据库 第21章 高级安全性:透明数据加密...
本文将主要探讨DECODE函数的用法、Oracle数据库中的SUBSTR函数以及正则表达式的语法。 1. **DECODE函数**: DECODE函数在数据库查询中常用于条件判断和返回对应结果。它允许你根据输入值与一系列预设值进行比较,...
此外,还可以使用 `DECODE` 函数与 `SIGN()` 结合来比较字段大小,如: ```sql SELECT DECODE(SIGN(字段1 - 字段2), -1, 字段3, 字段4) FROM dual; ``` 这可以帮助在没有 `CASE WHEN` 的情况下执行简单的条件判断。 ...
窗口函数在Oracle中是一种非常强大的工具,可以对结果集进行排序并分配排名。`RANK()` 函数是其中一种,它为每个行分配一个唯一的等级值。如果多行具有相同的排序键,则它们将获得相同的排名,而下一个等级将跳过...