select '12'+12 result from dual;----这个加号被理解为逻辑运算符
select '21'||2 result from dual;----||理解为字符串连接符
转换函数:to_char(),to_date,to_number()
select to_number('23')+12 result from dual;---字符串转换为number类型
select to_char(12) result from dual;----把number类型转换为字符串类型
通用函数:nvl(p1,p2)----p1为null,则p2,否则p1,nvl2(p1,p2,p3)—p1为null,则p3,否则p2.
select e.sal*12+nvl(e.comm,0) sal year
from emp e;
select
e.sal*12 sal,
--nvl2(p1,p2,p3),如果p1为null,则p3,否则p2
e.sal*12+nvl2(e.comm,2,0) sal_year_nvl2,
-- nvl(p1,p2),如果p1为null,则p2,否则p1
e.sal*12+nvl(e.comm,0) sal_year_nvl
from emp e;
这样我们使用nvl2也可以很方便的计算该员工的年薪(12个月的工资+年终奖)
select e.ename,nvl2(e.comm,e.sal+e.comm,e.sal) from emp e;
select * from tableName [where conditions] order by expr [ASC|DESC]