我的Oracle数据库学习笔记
Day 6 转换函数和其他函数
文章目录
转换函数
转换函数 ,日期的默认显示方式 : 日-月-年 : 中文环境 ‘08-9月-20’
to_char() :把日期值转换成指定格式的字符串 : select 把日期类型的值按指定格式的字符串显示
to_date() :把字符串按指定格式转成日期 : insert 把字符串按指定格式转成日期
注意:日期与字符串的相互转换
年:YYYY 四位, YY:两位
月:MM :两两位
日: DD
星期:DAY
时: HH24,HH
分:MI
秒:SS
练习
1.把系统日期按指定格式显示,‘yyyy-mm-dd day’
select sysdate , to_char(sysdate,'yyyy-mm-dd day') from dual; --结果: 08-9月 -20 ,2020-09-08 星期二
2.把字符串:‘2020-10-01 12:20:30‘ 转成日期类型的值
select '2020-10-01 12:20:30' ,to_date('2020-10-01 12:20:30','yyyy-mm-dd hh24:mi:ss')
from dual;
3.查询员工的信息(编号,姓名,职位,入职日期)
select empno,ename,job,hiredate from emp;
4.让入职日期按‘yyyy-mm-dd’
select empno ename ,job ,hiredate,to_char(hiredate,'yyyy-mm-dd') from emp;
5.修改日期为null为系统当前时间
update emp set hiredate =sysdate where hiredate is null;
commit;
其他函数
1.【语法】NVL (expr1, expr2)
【功能】若expr1为NULL,返回expr2;expr1不为NULL,返回expr1。
注意两者的类型要一致
2. 【语法】NVL2 (expr1, expr2, expr3)
expr2和expr3类型不同的话,expr3会转换为expr2的类型
【功能】expr1不为NULL,返回expr2;expr2为NULL,返回expr3。
3.NVL (expr1, expr2)
查询员工的信息(编号,姓名,职位,工资,奖金) ,没有奖金的显示为0
select empno,ename,job,sal,comm,nvl(comm,0)
from emp;
- nvl2(expr1, expr2, expr3)
查询员工的信息(编号,姓名,职位,工资,奖金) ,没有奖金的显示为’无‘,有资金的显示’有‘
select empno,ename,job,sal,comm,nvl2(comm,'有','无')
from emp;