您的位置:首页 > 数据库

关于数据库小知识点归纳(未完待续)

2016-10-14 21:49 155 查看
oracle知识点

1.
select ename,(salary+bonus)*12 from emp_hiloo;


如果算术表达式中有null值(无穷大),结果为null.任何和空值做运算结果都为null

2.
select ename,(salary+nvl(bonus,0))*12 from emp_hiloo;


函数 nvl(p1,p2)是有返回值,空值转换函数

3.
select * from emp where name ='cjq'


sql语句大小写不敏感,数据大小写敏感,如果数据是CJQ,则查不出结果

4.
select * from emp where upper(name) ='CJQ'


忽略大小写,查找name为cjq的员工

5.时间between …and 包含边界值,not between and 比小的小,比大的大

6.
slelect * from emp where name= 'cjq' and name = 'hll'


等同于

slelect * from emp where name in ('cjq','hll')


7.每个部门有哪些不同的职位?

select distinct deptno,job from emp_hiloo;


当distinct后面跟多列,去重后的结果是联合唯一.

8.where后面不可以跟列别名

9.
select empno,job from emp where job like '_\_%' escape '\'


哪些职位的第二个字符是’_’?

这里_被看做下划线本身.

10.
select ename,bonus from emp where bonus in (500,1000,null)


哪些员工的奖金是500,1000或没有奖金。

对于not in,集合里的值不能包含null,否则结果是no rows selected.

11 .数值函数

四舍五入

round(12.345,2) 12.35 小数点后面保留2位

round(12.545) round(12.545,0) 13

round(12.345,-1) 10

截取

trunc(12.345,2) 12.34

trunc(12.545) 12

trunc(12.545,-1) 10

日期函数

to_date—- to_char (date和字符之间的转换)

to_number —–to_char(number和字符之间的转换)

insert into test values (to_date('2008 08 08 08:08:08','yyyy mm dd hh24:mi:ss'))


select to_char(c1,'yyyy mm dd hh24:mi:ss')  c1 from test;


select ename,hiredate from emp_hiloo where to_char(hiredate,'mon') = 'mar'


select ename,hiredate from emp_hiloo where to_char(hiredate,'mm') = '03'


12.

select max(age),min(salary)
from emp group by dep;


grouy by中的列不出现在select中,结果集不全,不会报错

13.
select name ,age from emp where salary is not null group by dep having avg(nav(salary,0))>5000


where 是对表数据进行过滤,having是对分组后的数据进一步过滤

14.组函数忽略null,avg/sum针对数字操作,max/min对所有数据类型操作

15.
selcet month_between(create_date,end_date) from emp


16.
select add_month(end_date,-12) from emp


计算12个月之前的时间点

17.
select last_day(create_date) from emp


计算本月最后一天

18.
select coalesce(salary,name,100) from emp


如果salary不是空则返回其值,是空则返回name,都为空则返回100

19.decode函数和case when含义一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: