Oracle基础学习之函数

系统 1909 0

1. 日期函数  默认格式为 日-月-年

extarct(类型 from 日期 )  --将指定日期抽出指定的部分 类型可以是 year,day,month,hour,minute,second

months_between (日期一,日期二)  得到两个日期中相差的月份

add_months(日期,天数)      指定日期加上指定天数

next_day(日期,星期几)      得到指定日期后面的指定星期几的日期 next_day('23-6月-11','星期一') 得到的是 2011年6月27 因为这天是星期一

last_day(日期)        得到指定日期所在月份的最后一天

 

emp:

SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return CurrentYear
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return CurrentMonth
SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return CurrentDay

取时分秒

SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10')FROM DUAL;

日期格式转换

select to_char(sysdate,'YYYY"年"MM"月"DD"日" HH24:MI:SS') from dual;  //注意年字要用""括起来

 

2. DECODE()函数

语法

DECODE(值,条件1,结果1,条件2,结果2....)  相当于循环判断

emp:

select decode(u_name,'张三','男人','李四','女人') from user  

 

3. NVL()函数

语法

NVL(列,默认值)

emp:

select NVL(u_name,'无名') from uesrs

 

4. 字符函数

initcap(值)                首字母大写

lower(值)                 转为小写

upper(值)                转为大写

ltrim(值,去除内容)            左剪裁                  ltrim('abcdef','abc')   == def

rtrim(值,去除内容)            右剪裁

translate(值,替换内容,替换值)                         translate('tom and joy','ao','12' )   ==   t2m 1nd j2y

replace(值,替换内容,替换值)   将指定字符串替换成指定字符串         replace('tom and joy','o','mm')  ==  tmmm and jmmy

instr(值,要找的值)       找出指定字符串位置,只找第一个     instr('tom and joy','a')  ==   5  instr('tom and joy','o')  == 2

substr(值,起始位置,取多长)    截取字符串,字符串从1开始      substr('tom and joy',5,3)  == and

concat(值1,值2)          连接字符串              concat('i'm ',' superman')  == i'm superman

 

5. 数字函数

round(数字,精度)     四舍五入    round(3.1415,2)  == 3.14   round(3.1415,3) == 3.142

round(日期,格式)    对日期进行四舍五入 round(to_date('23-7月-11'),'YEAR')  如果月份大于7 到2012年1月1日 否则就是11年1月1日

if 年>7  年= 年+1

if 月>15  月=月+ 1

if 天%7 ==0 天= 天+3

 

6. 转换函数

to_char(值,转换类型)  转换成字符串类型  to_char(1234.5,'$9999.9')  == $1234.5   to_char(sysdate,'yyyy-mm-dd')

to_date(日期,格式)  将日期转换成指定格式

to_number()    转换成数值

 

7. 伪列

  ROWID : 产生一个新的序列号

  select rowid,u_name,u_pwd from users

  ROWNUM : 类似于TOP关键字的效果

  select * from users where rownum < 10 //返回十条记录

 

Oracle基础学习之函数


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论