首页 > 代码库 > Oracle系列:(10)小结

Oracle系列:(10)小结


使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date)

通用函数:参数类型可以是number或varchar2或date类型


使用NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,统计员工年收入 


使用NULLIF(a,b)通用函数,在类型一致的情况下,如果a与b相同,返回NULL,否则返回a,比较10和10.0是否相同


使用SQL99标准通用语法中的case表达式,将职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

case 字段 

     when 条件 then 表达式1

     when 条件 then 表达式2

     else 表达式n

end 


使用oracle专用语法中的decode()函数,职位是分析员的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400

decode(字段,条件1,表达式1,条件2,表达式2,...表达式n)





单引号出现的地方如下:

1)字符串,例如:‘hello‘

2)日期型,例如:‘17-12月-80‘

3)to_char/to_date(日期,‘YYYY-MM-DD HH24:MI:SS‘)


双引号出现的地方如下:

1)列别名,例如:select ename "姓 名" from emp

2)to_char/to_date(日期,‘YYYY"年"MM"月"DD"日" HH24:MI:SS‘)


(01)oracle服务器由哪二部份组成?

    数据库、实例

(02)SQL92/99标准有哪四大分类?

    数据操作语言、数据定义语言、数据控制语言、事务控制语言 

(03)select *,ename from emp这样写对吗?

    不对,因为*不能和,号一起使用

(04)NVL(a,b)函数是什么意思?

    如果a的值不为NULL,则取值的值;否则取b的值。  

(05)select sysdate from dual;

    查看当前系统时间

(06)select ename from emp where ename like ‘%\_%‘ escape ‘\‘是什么意思? 

   escape ‘\‘将\视为转义字符

(07)如果判断null值?

   is null / is not null

(08)order by能用列号排序呢?从几号开始?

  能,从1开始

(09)between .. and ..和in..是什么意思?

   between..and..在之间

   in..在多个值之间

(10)select add_months(sysdate,-1) from dual是什么意思?

    月份减少1个月






Oracle系列:(10)小结