Oralce常用系统函数

dual:Oracle系统内部提供的一个用于实现临时数据计算的特殊表,它只有一个列DUMMY (VARCHAR2(1))

字符类函数

concat--连接字符串  initcap--每个单词首字母大写  instr(s1,s2[,i][,j]--s2在s1中第j次出现时的位置,从s1的i位置开始搜索

lengths--字符串的长度   lowers,uppers--大小写  ltrim,rtrim,trim--删除多余的字符

replace(s1,s2[,s3])--s3替换出现在s1中的所有s2字符串,s3默认是空字符串

substr(s,i[,j])--从s的i位置开始截取j长度的子字符串

数字类函数

ceil--返回大于或等于n的最小整数  round(n1,n2)--舍入小数点右边n2为的n1值,n2的默认值为0

power(n1,n2)--返回n1的n2次方  

日期和时间类函数:

日期型默认格式“01-10月-11”:2011-10-1

sysdate():返回系统当前的日期

add_months(d,i):返回日期d加上i月后的结果。

转换类函数:


to_char(x[,format]):表达式转换为字符串  比如:format:"YYYY-MM-DD"

to_number(s[,fromat[lan]]):将返回s代表的数字  如:to_number('18','xxx') 将十六进制18转换为十进制

子查询

规则:

1.子查询必须用括号()

2.子查询中不能包含ORDER BY子句

3.子查询允许嵌套多层,但不能超过255层

分为:

A-单行子查询

  在WHERE子句中引用单行子查询,可以使用单行比较运算符(=、>、<、<=、<>)

select empno,ename,sal from emp where sal>(select min(sal) from emp) and sal<(select max(sal) from emp);

  子查询返回的结果必须是一行数据

B-多行子查询

  在WHERE子句中,使用IN ANY ALL

C-关联子查询

select empno,ename,sal from emp f where sal >(select avg(sal)from emp where job=f.job) order by job;

原文地址:https://www.cnblogs.com/xcnblog3035/p/5229252.html