Oracle转换函数
时间:2021-07-01 10:21:17
帮助过:12人阅读
自动类型转换
select 1+‘1‘ from dual;
--前面是字符串,会自动转换成date类型
select add_months(
‘1-7月-2017‘,
2)
from dual;
--to_number to_char to_date
select sysdate
from dual;
--把日期函数转换成字符串:to_char()
select sysdate,to_char(sysdate)
from dual;
--自己定义日期的格式
select sysdate,to_char(sysdate,
‘YYYY-MM-DD HH24:MI:ss‘)
from dual;
select sysdate,to_char(sysdate,
‘YYYY-MM-DD‘)
from dual;
select sysdate,to_char(sysdate,
‘HH24:MI:ss‘)
from dual;
--将数字转换成字符串:to_char
select 123,to_char(
123)
from dual;
--9代表占位符,如果位数少于前面的数字,都会显示#
--L代表本地货币符号
select 123,to_char(
123,
‘999‘)
from dual;
--to_date 将字符串转换成日期类型
select months_between(sysdate,
‘2017-12-17‘)
from dual;
--to_date() 必须要指定日期的格式
select months_between(sysdate,to_date(
‘2017-12-17‘,
‘YYYY-MM-DD‘))
from dual;
--to_number 将字符串转数字 字符串必须只有数字
select ‘123‘,to_number(
‘123.000‘)
from dual;
--nvl相当于java中的条件运算符 a?b:c
--查询所有员工的姓名,职位,薪水,提成和总工资
select ename,job,sal,comm,sal
+comm income
from emp;
select ename,job,sal,nvl(comm,o) comm,sal
+nvl(comm,
0) income
from emp;
--nvl2:有三个参数,第一个参数为null,返回第三个参数的值,否则返回第二个
select ename,job,sal,comm,nvl2(comm,sal
+comm,sal) income
from emp;
--两者数据类型一定要一致
select comm,nvl(comm,
‘无‘)
from;
--如果数据类型不一致,将出现报错现象。
--decode 功能类似 switch...case...
--查询所有员工的职位,并且以中文显示
select distinct job
from emp;
select decode(job,
‘CLERK‘,
‘职员‘,
‘SALESMAN‘,
‘销售员‘,
‘PRESIDENT‘,
‘不知道‘,
‘MANAGER‘,
‘经理‘,
‘ANALYST‘,
‘分析师‘)
as job
from emp;
Oracle转换函数
标签:条件运算 自动类型转换 resid 运算 -- 经理 员工 gpo months