Oracle 內置SQL函數

 

返回字符值的字符函數:

1substr

Substr(string,a[,b])

目的:返回string的一部分,從字符位置a開始,長爲b個字符。如果a0,那它就被 認爲是1(字符串的開始位置)。如果a是正數,那麼字符從左邊開始數。如果是負數,則從string的末尾開始,從右邊數。如果b不存在,那麼缺省是整個字符串。如果b小於1,將返回NULL

Select substr(‘abc123def’,4,4) from dual;

結果爲:123d

Select substr(‘abc123def’,-4,4) from dual;

結果爲:3def

Select substr(‘abc123def’,5) from dual;

結果爲:23def

2lower(string)upper(string)

3lpad(string1,x[,string2])rpad(string1,x[,string2])

4ltrim(string1,string2)rtrim(string1,string2)

5replace(string,search_str[,replace_str])

返回數字值的字符函數:

1instr

Instr(string1,string2[,a][,b])

目的:返回string1中包含string2的位置。從左邊開始掃描string1,起始位置是a。如果a是負數,那麼從右邊開始掃描string1。第b次出現的位置將被返回。ab缺省都爲1,即返回在string1中第一次出現string2的位置。如果string2ab的規定下沒有找到,那麼返回0

Select instr(‘Scott’’a spot’,’ot’,1,2) from dual;

結果爲:11

Select instr(‘Scott’’a spot’,’ot’,-1,2) from dual;

結果爲:3

Select instr(‘Scott’’a spot’,’ot’,5) from dual;

結果爲:11

Select instr(‘Scott’’a spot’,’ot’,12) from dual;

結果爲:0

2length(string)

目的:返回string的長度

數字函數,以NUMBER類型爲參數返回NUMBER

1ceil(x)

目的:返回大於或等於x的最大整數。

2floor(x)

目的:返回小於或等於x的最大整數。

3mod(x,y)

目的:返回x除以y的餘數。如果y0,則返回x

4round(x[,y])

目的:返回舍入到小數點右邊y位的x值。y缺省爲0,這將x舍入爲最接近的整數。如果y爲負數,那麼舍入到小數點相應的位上。Y必須的整數。

Select round(1.456,2) from dual;

結果爲:1.46

Select round(1.456) from dual;

結果爲:1

Select round(145.6,-2) from dual;

結果爲:100

5trunc(x[,y])

具體的語法格式如下

TRUNCnumber[,decimals]

其中:

Number待做截取處理的數值。

decimals指明需保留小數點後面的位數。可選項,忽略它則截去所有的小數部分。

目的:TRUNC函數返回處理後的數值,其工作機制與ROUND函數極爲類似,只是該函數不對指定小數前或後的部分做相應舍入選擇處理,而統統截去。

下面是該函數的使用情況:

TRUNC89.9852=89.98

TRUNC89.985=89

TRUNC89.985-1=80

注意:第二個參數可爲負數,表小數點左邊指定位數後面的部分截去,即均以0記。

注意:round(x[,y])trunc(x[,y])的區別:

SELECT ROUND (1.6, 2), TRUNC (1.6) FROM DUAL

結果爲:21

時間日期函數

1last_day(d)

目的:返回d所在月份的最後一天。這個函數可用來確定本月還有多少天。

2month_between(date1,date2)

目的:返回date1date2之間月的數目。如果date1date2的日分量相同,或這兩個日期都分別是所在月的最後一天,那麼返回結果是個整數。否則返回結果包含一個分數,以一個31天計算。

3next_day(d,string)

目的:返回在日期d之後由string限定的第一天。String使用當前會話的語言指定了一週中的一天。返回值的時候分量和d的時間分量相同。String的大小寫不重要。

4round(d[,format])

目的:將日期d按照由format指定的格式時行舍入。

5sysdate

目的:以date類型返回當前日期和時間。

6trunc(d[,format])

目的:返回截尾到由format指定的單位的日期上。

注意:roundtrunc的日期格式

轉換函數

1to_char:將其參數轉換爲字符類型

2to_date:將其參數轉換爲日期類型

3to_number:將其參數轉換爲數字類型

 

 

 

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章