博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle经常使用函数(2)
阅读量:4329 次
发布时间:2019-06-06

本文共 4093 字,大约阅读时间需要 13 分钟。

1、TRIM([ { { LEADING | TRAILING | BOTH }[ trim_character ]| trim_character} FROM ]trim_source) 函数

參数:leading   假设指定leading參数,oracle数据库将去除不论什么等于trim_character的开头字符。

參数:trailing  假设指定traling參数,oracle将去除不论什么等于trim_character的结尾字符。
參数:both  假设指定了both參数或者三个參数都未指定。oracle将去除不论什么等于trim_character的开头和结尾字符。

參数:trim_character  假设没有指定trim_character參数。默认去除的值为空格。
參数:trim_source   假设仅仅指定修剪源(trim_source),oracle将去除trim_source的开头和结尾的空格。
注意:a、trim函数返回一个varchar2类型值。该值最大的长度等于trim_source的长度。
            b、假设trim_source和trim_character有一个为null。则trim函数返回null。

            c、trim_character和trim_source都能够为下面随意一种数据类型:CHAR, VARCHAR2。 NCHAR, NVARCHAR2, CLOB, OR NCLOB。

            d、返回值的类型与trim_source的数据类型一致。

select trim(leading 'B' from 'BBoat is good') "test_trim" from dual;--oat is goodselect trim(trailing 'd' from 'BBoat is good') "test_trim" from dual;--BBoat is gooselect trim(both 'd' from 'd--Boat is handsome--d') from dual t;----Boat is handsome--select trim('d' from 'd--Boat is handsome--d') from dual t;----Boat is handsome--select length(trim(leading from ' d--Boat is handsome--d ')) from dual t;--23select length(trim(' d--Boat is handsome--d ')) from dual t;--22select trim(trailing null  from 'boat ') nulltrim from dual;select trim(both 'b'  from null) nulltrim from dual;

2、abs函数

用途:返回指定值的绝对值

select abs(100),abs(-100) from dual;--100 100select abs(null) from dual t;select abs('') from dual t;

3、ceil函数

用途:返回大于或等于给出数字的最小整数

select ceil(-7.09) from dual t;-- -7select ceil(7.09) from dual t;-- 8

 

4、floor函数

用途:返回小于或等于给定数字的最大整数

select floor(-7.09) from dual;-- -8select floor(7.09) from dual;-- 7

 

5、mod(a,b)函数

用途:返回一个a除以b的余数

select mod(2,3) from dual;--2select mod(-2,3) from dual;-- -2

6、power(a,b)函数

用途:返回a的b次方函数

select power(2,3) from dual;

7、round(number)函数

用途:四舍五入的方式取给定数字的整数值

select round(1.4) from dual;--1

round(带小时分秒的日期,參数)

參数:秒SS,精确到秒。

參数:分MI,到分。秒数30是分界线,相当于四舍五入的5,假设秒超过30,向前进1分钟
參数:时HH,假设分超过30分钟,向前进1个小时
參数:日DD, 假设小时超过12点,向前进1个小时
參数:月MM,16号是临界,相当于四舍五入的5,假设超过16号,向前进1天
參数:年YY。超过7月。向前进1年
參数:day。星期三是分界线 大于星期三即显示日期所在星期的下一个星期日。小于等于则显示所在星期的星期日

select round(to_date('2014-06-30','yyyy-mm-dd'),'yyyy') nian from dual;--2014/1/1select round(to_date('2014-07-01','yyyy-mm-dd'), 'yyyy') nian from dual;--2015/1/1select round(to_date('2014-06-16','yyyy-mm-dd'), 'mm') yue from dual;--2014/7/1select round(to_date('2014-06-15','yyyy-mm-dd'), 'mm') yue from dual;--2014/6/1select round(to_date('2014-07-15 12:00:01','yyyy-mm-dd hh24:mi:ss'), 'dd') ri from dual;--2014/7/16select round(to_date('2014-07-15 11:59:59','yyyy-mm-dd hh24:mi:ss'), 'dd') ri from dual;--2014/7/15select round(to_date('2014-07-30 10:30:01','yyyy-mm-dd hh24:mi:ss'), 'hh') shi from dual;--2014/7/30 11:00:00select round(to_date('2014-07-30 10:29:59','yyyy-mm-dd hh24:mi:ss'), 'hh') shi from dual;--2014/7/30 10:00:00select round(to_date('2014-07-15 13:30:01','yyyy-mm-dd hh24:mi:ss'), 'mi') fen from dual;--2014/7/15 13:30:00select round(to_date('2014-07-15 14:30:31','yyyy-mm-dd hh24:mi:ss'), 'mi') fen from dual;--2014/7/15 1:31:00select sysdate,round(sysdate-1, 'day'),round(sysdate, 'day'),round(sysdate+1,'day') from dual;

8、ADD_MONTHS函数

用途:添加或减去指定月份

select add_months(to_date('2014-7-30','yyyy-mm-dd'),2) from dual;--2014/9/30select add_months(to_date('2014-7-30','yyyy-mm-dd'),-2) from dual;--2014/5/30

9、LAST_DAY函数

用途:返回日期的最后一天

select to_char(last_day(sysdate-21),'yyyy.mm.dd') from dual;--2014.07.31

10、MONTHS_BETWEEN(date2,date1)函数

用途:返回date2-date1的月份差值

select months_between('16-9月-2014','16-7月-2014') mon_between from dual;--2select months_between('01-9月-2014','15-7月-2014') mon_between from dual;--1.54838709677419select months_between(to_date('2014-07-01','yyyy-mm-dd'),to_date('2014-09-01','yyyy-mm-dd')) mon_between from dual;--2

11、NEXT_DAY(date,x)函数

用途:给出日期date和星期x之后计算下一个星期x的日期

select next_day(sysdate,to_char(sysdate,'day')) next_day from dual;--2014/8/6 11:09:55select to_char(sysdate,'day') from dual;--星期三

12、SYSDATE函数

用途:用来给出当前系统的时间(注意是系统的时间,假设远程调用server上的数据库,则是数据库所在server的时间)

select sysdate from dual;--2014/7/30 11:33:49select systimestamp from dual;--30-7月 -14 11.33.56.450391 上午 +08:00

 

转载于:https://www.cnblogs.com/liguangsunls/p/6912226.html

你可能感兴趣的文章
VsVim - Shortcut Key (快捷键)
查看>>
C++练习 | 模板与泛式编程练习(1)
查看>>
HDU5447 Good Numbers
查看>>
08.CXF发布WebService(Java项目)
查看>>
java-集合框架
查看>>
RTMP
查看>>
求一个数的整数次方
查看>>
点云PCL中小细节
查看>>
铁路信号基础
查看>>
RobotFramework自动化2-自定义关键字
查看>>
[置顶] 【cocos2d-x入门实战】微信飞机大战之三:飞机要起飞了
查看>>
BABOK - 需求分析(Requirements Analysis)概述
查看>>
第43条:掌握GCD及操作队列的使用时机
查看>>
Windows autoKeras的下载与安装连接
查看>>
CMU Bomblab 答案
查看>>
微信支付之异步通知签名错误
查看>>
2016 - 1 -17 GCD学习总结
查看>>
linux安装php-redis扩展(转)
查看>>
Vue集成微信开发趟坑:公众号以及JSSDK相关
查看>>
技术分析淘宝的超卖宝贝
查看>>