標籤:資料 2014 ar 時間 amp 資料庫 伺服器 sql
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函數
用途:用來給出當前系統的時間(注意是系統的時間,如果遠程調用伺服器上的資料庫,則是資料庫所在伺服器的時間)
select sysdate from dual;--2014/7/30 11:33:49select systimestamp from dual;--30-7月 -14 11.33.56.450391 上午 +08:00