oracle总结
1. order by排序时空值的顺序:null first/null last
select * from table order by age null first/null last;
2.oralce中常用函数总结:
字符连接函数concat():select concat('hello','world') from dual;
substr:字符串的截取,使用substr,第一个参数是源字符串,第二个参数是开始索引,第三个参数长度,开始的索引使用1和0效果相同
length():字符串长度:select length('hello') from dual;
replace:字符串替换,第一个参数是源字符串,第二个参数被替换的字符串,第三个是替换字符串:select replace('hello','l','x') from dual;-->hexxo;
日期类函数:
select sysdate from dual; --获取系统时间
oracle支持类型自动转换:
to_char()的用法:
to_char(sysdate,'yyyy-mm-dd'):将日期格式化
to_char(9999,'$9,999'):将数字格式化
to_number()的用法:将字符转换成数字
select to_number('10')+to_number('10') from dual;
to_date():字符串转换成日期
通用函数:
nvl:某个字段为Null时,把它转换成其他值。例:select nvl(sal,0) from dual; --sal字段为Null时,写成0.否则保持其他值。
decode函数:相当于case...when...then...表达式。条件判断表达式
语法:decode(表达式,值1,显示1,值2,显示2,...值n,显示n,其余的显示结果);
例:
n 条件表达式示例: 根据10号部门员工的工资,显示税率
group by分组函数需要注意的地方:
- 1. 如果使用分组函数,SQL只可以把GOURP BY分组条件字段和分组函数查询出来,不能有其他字段。
- 2. 如果使用分组函数,不使用GROUP BY 只可以查询出来分组函数的值
3.oracle分页问题:
ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。通过rounum来进行分页展示
4.oracle集合运算:
交集:取两个集合的所有元素
并集:取两个集合的共同元素
差集:取两个元素的不同元素
5.oracle数据库常用的几个对象
视图:相当于是一个查询语句,形成的一个临时表
序列:oracle不支持主键自增功能,只能通过序列对象进行主键自增。