转换函数![转换关系图](https://i-blog.csdnimg.cn/blog_migrate/fe900b5823ce19e0f87c5bdabf7fe764.png)
1.使用to_char函数对日期进行转换:
①必须包含在单引号内;
②大小写敏感;
③可以包含任意的有效的日期格式;
④可以使用fm去掉多余空格或者前导零;
⑤与日期值用逗号隔开。
2.日期格式的组成:
①YYYY:完整年份;
②YEAR:英文年;
③MM:数字月;
④MONTH:完整的月份名称;
⑤MON:月份的前三个字母;
⑥DY:星期的前三个字母;
⑦DAY:完整星期英文;
⑧DD:月份的数字天。
3.使用to_char函数对数字进行转换:
①9:代表一个数字;
②0:强制显示0;
③$:放置一个浮动的美元符号;
④L:采用浮动本地货币符号;
⑤.:打印小数点;
⑥,:打印一个逗号作为千位标示符。
通用函数
1.NVL:转换null值为实际的值;
例:
nvl(comm,0)
nvl(hiredate,‘1991-01-29’)
nvl(deptno,‘no job’)
2.NVL2:如果第一列的值不是null,转换成第二列,否则转换成第三列;
例:如果奖金列不是空的,显示奖金数,如果是空的,显示‘nocomm’
nvl2(comm,to_char(comm),‘no null’)
3.NULLIF:比较两个表达式,如果相等,返回NULL,否则返回第一个表达式;
4.COALESCE:如果第一个表达式非空,则返回这个表达式,如果是空,可显示一串字符,比nvl的优点在于可同时处理交替多个值。
条件表达式
1.CASE表达式
例:
①
select ename,
case sal when ‘MANAGER’ then sal×1.2
when ‘SALESMAN’ then sal×1.5
else sal end “salary”
from emp;
②
select ename,
case when sal<1000 then ‘bad’
when sal between 1000 and 2000 then ‘good’
else ‘perfect’ end “level”
from emp;
2.DECODE表达式
select ename,
decode(job,‘MANAGER’,sal×1.2, ‘SALESMAN’,sal×1.5,
sal) salary
from emp;