oracle中错位函数,Oracle中常见函数学习笔记

1、NVL(a, b) NVL函数是将NULL值的字段转换成默认字段输出。语法:NVL(expr1,expr2)。其中,expr1是需要转换或判断的字段名或者表达式,expr2则是NULL的替代值。例如:SELECT NVL(commission_pct,0) from emp2; #代表从emp2中查找字段commission_pct,空值转换成默认值0

2、NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,相当于三元运算SELECT NVL2(commission_pct,commission_pct,0) from EMP2    #从EMP2中查找commission_pct,如果不为空就用自身值,如果为空使用0代替

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

select NULLIF(10, 10) from dual;

-- 结果11

select NULLIF(11, 10) from dual;

-- 类型不一致,错误

select NULLIF(10, '10') from dual;

4、使用CASE...WHEN条件语句-- 将职位是'IT_PROG'的,工资+1000;职位是'FI_ACCOUNT'的,工资+800;职位是其它的,工资+400:

select last_name "name",job_id "job",salary,

case job_id

when 'IT_PROG' then salary+1000

when 'FI_ACCOUNT' then salary+800

else salary+400

end "salaryNew"

from emp2;

5、oracle专用语法中的decode()函数-- 将职位是'IT_PROG'的,工资+1000;职位是'FI_ACCOUNT'的,工资+800;职位是其它的,工资+400:

select last_name "name",job_id "job",salary,

decode(job_id,'IT_PROG',salary+1000,'FI_ACCOUNT',salary+800,salary+400) "salaryNew"

from emp2;

6、单引号和双引号的使用-- 单引号使用:

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

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

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

-- 双引号使用:

1)列别名,例如:select last_name "姓 名" from emp2

2)to_char/to_date(日期,'YYYY"年"MM"月"DD"日" HH24:MI:SS')‘’号中的英文字符大小写不敏感

7、统计聚合函数,关键字是distinct,和MySQL中的去除重复的关键字一样-- 部门数据:重复

select count(department_id) from emp2;-- 部门数据:不重复

select count(distinct department_id) from emp2;

8、平均值,加和值SELECT SUM(SALARY),AVG(SALARY) FROM EMP2

9、四舍五入select sum(salary) "total", round(avg(salary), 0) "avg" from emp2;

10、最小最大select min(hire_date) "first one", max(hire_date) "last one" from emp2;

11、截取数字小数位数select department_id "did", trunc(avg(salary),2) "AvgSalary"

from emp2

group by department_id;

语法:trunc(num,[int]);   它的使用是去掉数字num小数位以后的部分,并且不进行四舍五入,int是保留的长度。.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值