oracleto_char(oracletochar000)
oracle里nvl,to_char,decode这些函数怎么用啊?
Oracle提供了一些逻辑判断函数,这些函数可以在查询中使用。
1. nvl :针对空值进行测试
函数原型为:NVL(testValue,SubstituteValue)
常见的用法是? Select?max(score) From SC Where Name=‘Jerry’
有时max(score)为空,也就是说Jerry并没有考试记录,这时我们用"No Record"标注一下:
Select NVL(max(score),"No Record") From SC;
还有一个NVL2函数跟其相似,函数原型为: NVL(testValue,SubValue1,SubValue2)
NVL2函数实现的是若testValue为NULL,返回SubValue1,否则返回SubValue2。
2.Decode函数
Decode函数的原型为: Decode(testValue, if1, then1, if2,then2.....else).
针对testValue进行测试,若testValue等于if1则返回then1,若testValue等于if2则返回then2,....若都没有返回,刚返回else.?示例如下:
若我们用Decode可以这样实现:
SELECT class, course,
???????DECODE (student,
???????????????'A', 'Anco',
???????????????'B', 'Bily',
???????????????'C', 'Candy',
???????????????'D', 'Davi',
???????????????'E', 'Eve',
???????????????'F', 'Fion'
??????????????) AS en_name
??FROM studentinfo
3. to_char函数功能,就是将数值型或者日期型转化为字符型,转换过程中可以进行格式化处理,函数原型较多,示例如下:
oracle to_char 语法
to_char(bdate,'yyyy-mm-dd'):是将表中bdate字段(应该是日期类型)转化为格式为yyyy-mm-dd的字符类型,比如2009-12-15
decode(to_char(....),'1900-01-01',‘1990-01-01’,to_char(...))
as
date
:首先decode()的语法是decode(a,a,m,n),意思是if
a=a
then
显示m
else
显示
n
.也就是如果bdate是1900-01-01的话就显示1990-01-01否则就仍显示bdate。as
只是给这整个decode()的字段取个别名,你可以不加as
date试试,看看输出的第一行就明白了。
oracle数据库的 to char 和to date 区别
to
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_DATE
使用TO_DATE函数将字符转换为日期
TO_DATE(char[,
'格式'])
?
数字格式格式
9
代表一个数字
强制显示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’
ORACLE中to_char、to_date、trunc、to_number、cast函数
to_char函数的功能是将 数值型 或者 日期型 转化为特定格式的字符型
1、将日期转化为年月日格式
2、将日期转化为年月日,星期几格式
3、to_char10进制转化为16进制
将字符串转化为日期格式
trunc()函数是对 时间类型 或者 数字 进行截取操作的,返回的时间或者数字类型
1、时间
CAST()函数可以进行数据类型的转换。
主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。