oracle内置函数


一、SQL简介

    SQL 全名是结构化查询语言(Structured Query Language),是用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986年10月,美国 ANSI 对 SQL 进行规范后,以此作为关系式数据库管理系统的标准语言 (ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。
        各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL语言不能完全相互通用。       现在最新的标准是SQL99,ORACLE不但对标准的SQL完全兼容,而且有自己更为方便的增强SQL。


二、SQL的分类:

DML语句(数据操作语言)Insert、Update、 Delete、Merge 、Select DDL语句(数据定义语言)Create、Alter、 Drop、Truncate DCL语句(数据控制语言)Grant、Revoke 事务控制语句Commit 、Rollback、Savepoint   

     
三、SQL运算符算术表达式 + - / *

连接运算符 || 空值 is null

比较运算符 > < (!= or <>) between and in操作 not in

模糊查询 like

去除重复行 distinct  

逻辑运算符 or and not


四、字符函数

Ascii : 返回与指定的字符对应的十进制数;

Chr : 给出整数,返回对应的字符;

Upper :返回字符串, 并将所有的字符大写;

Lower :返回字符串,并将所有的字符小写;

Initcap :返回字符串将字符串的第一个字母变为大写;
例:

select ascii('A') from dual;         

select chr(66) from dual;     

select upper('abCDef') from dual;     

select lower ('abCDef') from dual;     

 select initcap ('abCDef') from dual;


Substr(string,start,count)  :取子字符串,从start开始,取count个;

Substrb(string,start,count) ;

Instr(C1,C2,I,J)  :在一个字符串中搜索 指定的字符,返回发现指定的字符的位置;C1 被搜索的字符串,C2 希望搜索的字符串,I 搜索的开始位置,默认为1,J 出现的位置,默认为1;  Instrb(C1,C2,I,J);


Concat :连接两个字符串;

Length :返回字符串的长度;

Lpad :在列的左边粘贴字符;

Rpad :在列的右边粘贴字符;

Trim :删除两边出现的字符串;

Ltrim : 删除左边出现的字符串;

Rtrim : 删除右边出现的字符串;

 

五、数值函数

Abs : 返回指定值的绝对值;

Round :按照指定的精度进行四舍五入;

Ceil :返回大于或等于给出数字的最小整数;

Trunc :返回小于或等于给出数字的最大整数;

Floor : 对给定的数字取整数


六、日期函数

Months_between返回两个日期之间的月份;

Add_months增加或减去月份;

Next_day(date,’day’)给出日期date和星期x之后计算下一个星期的日期;

Last_day返回日期的最后一天;

Trunc:截取时间;例如:select trunc(sysdate,‘w’) from dual;

六、转换函数

To_char将日期转化为字符串;

To_number将给出的字符转换为数字;

To_date将字符串转化为日期 。


七、通用函数

NVL (exp1, exp2):如果表达式exp1 为空,返回exp2;

NULLIF (exp1, exp2) :如果表达式exp1与exp2的值相等则返回null,否则 返回exp1的值;

 
 八、分组函数

 Count:返回结果集的记录数;(如果结果是为空会怎样?)

Avg: 返回平均数;Max: 返回最大值;

Min: 返回最小值;Sum: 返回数值和;


DECODE()函数




SELECT 
      empno,   
      ename,   
     sal,   
     DECODE (deptno,10, '财务部',  20, '研发部',  30, '销售部','未知部门')部门 
FROM   emp;

CASE表达式




SELECT   empno,ename,sal,CASE deptno  
WHEN 10 THEN '财务部' 
WHEN 20 THEN '研发部' 
WHEN 30 THEN '销售部' ELSE '未知部门'    END  部门 FROM   emp;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值