在oracle應用中經常用到一些系統的函式來方便應用 今天有時間來小結一下。。
decode函式的格式為:
decode(條件, 值1, 翻譯值1, 值2, 翻譯值2,……,預設值)
實現的功能為,if條件=值1 then return(翻譯值1)
if條件=值2 then return(翻譯值2)
………else return(預設值)
nvl函式的格式為:
nvl(expr1,expr2)
若expr1是null,則返回expr2,否則返回expr1.
substr的格式:
substr('this is a test', 6, 2) would return 'is'
substr('this is a test', 6) would return 'is a test'
round 函式(四捨五入) :
select round( number, [ decimal_places ] ) from dual
引數:
number : 欲處理之數值
decimal_places : 四捨五入, 小數取幾位( 預設為0 )
concat連線兩個字串;
select concat('029-','88888888')||'轉11' **號碼 from dual;
length返回字串的長度;
select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;
substr(string,start,count)
取子字串,從start開始,取count個
select substr('13088888888',3,8) from dual;
ceil返回大於或等於給出數字的最小整數
sql> select ceil(3.1415927) from dual;
add_months增加或減去月份
sql> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;
last_day返回日期的最後一天
select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;
months_between(date2,date1)給出date2-date1的月份
select months_between('19-12月-1999','19-3月-1999') mon_between from dual;
next_day(date,'day')給出日期date和星期x之後計算下乙個星期的日期
select next_day('18-5月-2001','星期五') next_day from dual;
sysdate用來得到系統的當前日期
select to_char(sysdate,'dd-mm-yyyy day') from dual;
to_char(date,'format')
select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;
to_date(string,'format')
將字串轉化為oracle中的乙個日期
to_number
將給出的字元轉換為數字
select to_number('1999') year from dual;
Oracle常用函式
一 row number over 資料甲 1 select column name column name,data type,2 row number over partition by column name order by column name row num 3 from test c...
Oracle常用函式
數學函式 1.絕對值 o select abs 1 value from dual 2.取整 大 o select ceil 1.001 value from dual 3.取整 小 o select floor 1.001 value from dual 4.取整 擷取 o select trun...
oracle常用函式
1.concat c1,c2均為字串,函式將c2連線到c1的後面,如果c1為null,將返回c2.如果c2為null,則返回c1,如果c1 c2都為null,則返回null。他和操作符 返回的結果相同 select concat slobo svoboda username from dualuse...