Oracle数据库 语法操作汇总(二)

本文汇总了Oracle数据库中各类函数的使用,包括单行函数、多行函数。在字符函数中,介绍了大小写控制、字符截取等;数值函数如四舍五入、截取;日期函数如sysdate、MONTHS_BETWEEN等;转换函数TO_CHAR和TO_DATE等;以及通用函数NVL、NVL2和DECODE。
摘要由CSDN通过智能技术生成

oracle各种语法操作的汇总第二部分

函数
1)单行函数:字符,数值,日期,转换,通用
2)多行函数

字符函数:
(1)大小写控制函数
upper
lower eg. select lower(user_name) from user
initcap
(2)字符控制函数:
a. concat(,)    eg.select concat(first_name,last_name) from employees
b. substr(" ",a,b) a截取字符串的开始位置 为0或1时都从第一位开始截取 b要截取的字符串的长度
    eg.select substr('HelloWorld',0,3) value from dual; //返回结果:Hel,截取从“H”开始3个字符
c.length()  eg.SELECT length('啦啦啦abc') FROM dual; 按字符计,汉字、英文、数字都是1个字符,故这里返回6
d.instr("","")查找字符在字符串中的位置 eg.select instr('helloworld','l') from dual;  返回结果:3    默认第一次出现“l”的位置
e.lpad( string, padded_length, [ pad_string ] ) 左填充  eg.select lpad('abcde',10,'x') from dual;   返回结果:xxxxxabcde
f.rpad(string, padded_length, [ pad_string ]) 右填充
g.trim()不指定的时候去掉空格 指定的时候去掉指定的  eg.select trim('  aaa bbb ccc  ') trim from dual; 返回结果aaa bbb ccc

数值
a)round 四舍五入
eg. select round(45.296,2) from dual; 返回结果:45.30
      select round(-45.456,2) from dual;返回结果:-45.46
b)trunc 截取而不四舍五入 select trunc(45.296,2) from dual;返回结果:45.29

日期
a)sysdate
    注意:日期-数字=日期
              日期-日期=天数
b)MONTHS_BETWEEN  eg.MONTHS_BETWEEN(date1,date2)
c)ADD_MONTHS         eg.ADD_MONTHS(sysdate,-24*12)
d)NEXT_DAY       当前系统时间的下一星期一的时间select   next_day(sysdate,1)   from   dual; 1是星期日 2是星期一
e)extract eg.select  extract (year from sysdate) year, extract (month from sysdate) month, extract (day from sysdate) day from  dual;


转换函数:
TO_CHAR  eg.select to_char(hiredate,yyyy-mm-'
TO_DATE   eg.select to_char(hiredate,'yyyy'年'mm'月'dd'日)
TO_NUMBER 格式可添加标识符 fm:去零  9:数字  l:本地货币   eg.select to_number('$123.678','$999.9') from dual; 返回结果:123.6

通用
1)nvl(expr1,expr2)
eg. select name NVL(sal,0) from emp;    若sal为空则用0代替
2)nvl2(expr1,expr2,expr3) eg.select NVL2(sal,0,100); 若sal为空则用0代替 否则用100代替
3)decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) eg.select decode(job,'clerk','办事员','salesman','销售人员','其他');

 case when then else end eg.select case     YEAR when'2018' then 'lalala'  else 'hahaha' end YEAR from temp_table;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值