ITPub博客

首页 > 数据库 > Oracle > oracle中decode函数

oracle中decode函数

Oracle 作者:moodfish 时间:2013-06-04 10:41:43 0 删除 编辑

1.oracle

中

decode

函数

 

 

DECODE

函数相当于一条件语句

(IF).

它将输入数值与函数中的参数列表相比较,

根据输入值返回一个对应

值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参

序偶匹配成功,则函数也有默认的返回值。区别于

SQL

的其它函数,

DECODE

函数还能识别和操作空值

. 

 

其具体的语法格式如下:

 

 

DECODE(input_value,value,result[,value,result…][,default_result]); 

 

其中:

 

 

input_value 

试图处理的数值。

DECODE

函数将该数值与一系列的序偶相比较,以决定最后的返回结果

 

 

value 

是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,

可以使用关键字

NULL

于之对应

 

 

result 

是一组成序偶的结果值

 

 

default_result 

未能与任何一序偶匹配成功时,函数返回的默认值

 

 

下面的例子说明了,如何读取用户

CHECKUP

表

SEAPARK

中的

BLOOD_TEST_FLAG

列下的项目,作

为

DECODE

函数的实参支持值。

 

 

SELECT checkup_type, 

 

DECODE(blood_test_flag,’Y’,’Y

es’,’N’,’No’,NULL,’None’,’Invalid’) 

 

FROM checkup; 

 

 

2.oracle

中

to char

和

to date

的区别

 

 

 

o char 

是把日期或数字转换为字符串

 

 

to date 

是把字符串转换为数据库中得日期类型

 

 

 

转换函数

 

 

 

TO_CHAR

 

 

使用

TO_CHAR

函数处理数字

 

 

TO_CHAR(number, '

格式

') 

 

TO_CHAR(salary,’$99,999.99’); 

 

使用

TO_CHAR

函数处理日期

 

 

TO_CHAR(date,’

格式

’); 

 

 

TO_NUMBER

 

 

使用

TO_NUMBER

函数将字符转换为数字

 

 

TO_NUMBER(char[, '

格式

']) 

 

 

TO_DA

TE

 

 

使用

TO_DA

TE

函数将字符转换为日期

 

 

TO_DA

TE(char[, '

格式

']) 

 

 

 

数字格式格式

 

 

9 

代表一个数字

 

 

0 

强制显示

0 

 

$ 

放置一个

$

符

 

 

L 

放置一个浮动本地货币符

 

 

. 

显示小数点

 

 

, 

显示千位指示符

 

 

 

 

日期格式

 

 

格式控制

 

描述

 

 

YYYY

、

YYY

、

YY

 

分别代表

4

位、

3

位、

2

位的数字年

 

 

YEAR 

年的拼写

 

 

MM 

数字月

 

 

MONTH 

月的全拼

 

 

MON 

月的缩写

 

 

DD 

数字日

 

 

DAY

 

星期的全拼

 

 

DY

 

星期的缩写

 

 

AM 

表示上午或者下午

 

 

HH24

、

HH12 12

小时制或

24

小时制

 

 

MI 

分钟

 

 

SS 

秒钟

 

 

SP 

数字的拼写

 

 

TH 

数字的序数词

 

 

“

特殊字符

” 

假如特殊字符

 

 

HH24:MI:SS AM 15:43:20 PM 

 

DD “OF” MONTH 12 OF OCTOBER 

 

DDSPTH fourteenth 

 

Date

的格式

 

’18

-5

月

-

84’

 

 

 

3 

 

NVL() 

函数

 

 

从两个表达式返回一个非

 null 

值。

 

 

语法

 

 

NVL

(eExpression1, eExpression2) 

 

参数

 

eExpression1, eExpression2 

 

如果

 eExpression1 

的计算结果为

 null 

值,则

 

NVL

( ) 

返回

 eExpression2

。

如

果

 

eExpression1 

的

计

算

结

果

不

是

 

null 

值

,

则

返

回

 

eExpression1

。

eExpression1 

和

 eExpression2 

可以是任意一种数据类型。

如果

 eExpression1 

与

 eExpression2 

的结果皆为

 null 

值,则

 

NVL

( ) 

返回

 .NULL.

。

 

 

返回值类型

 

 

字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值  
说明  
在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。 
select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID 
注意:两个参数得类型要匹配
<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21682036/viewspace-1117547/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-05-18