oracle常用單行函式

2021-06-16 09:02:33 字數 3343 閱讀 4836

一、字元函式

1、大小寫處理函式

1)lower:轉換字元值為小寫

2)upper:轉換字元值為大寫

3)initcap:轉換每個單詞的首字母值為大寫,所有其它值為小寫

2、字元處理函式

1)concat:連線值在一起 (concat 函式有兩個輸入引數),等價於連線運算子(||)

concat(column1|expression1,column2|expression2)

2)substr:選取給定位置和長度的子字串

substr(column|expression,m[,n])

從字元返值中回指定的字元,開始位置在 m,n字元長度 (如果 m 是負數,計數從字元值末尾開始;如果 n 被忽略,返回到串結束的所有字元)

3)length:以數字值顯示乙個字串的長度

4)instr:找到乙個給定字元的數字位置

instr(column|expression,『string』, [,m], [n] )

返回乙個命名串的數字位置。隨意地,你可以提供乙個位置m作為查詢的開始,在字串中第n次發現的位置。

m和n的預設值是1,意味著在起始開始查詢,並且報告第乙個發現的位置。

5)lpad/rpad:用給定的字元左填充字串到給定的長度/用給定的字元右填充字串到給定的長度

lpad(column|expression, n,'string')

rpad(column|expression, n,'string')

填充字元值左、右調節到n字元位置的總寬度

6)trim:從乙個字串中去除頭或尾的字元 (或頭和尾) (如果 trim_character 或 trim_source 是乙個文字字元,必須放在單引號中。)

trim([leading|trailing|both][trimchar from] string)

其中:leading 指明僅僅將字串的字首字元刪除

trailing 指明僅僅將字串的尾隨字元刪除

both 指明既刪除字首字元,也刪除尾隨字元。這也是預設方式

string 任意一待處理字串

trimchar 可選項。指明試圖刪除什麼字元,預設被刪除的字元是空格

7)replace:從字串查詢乙個文字表示式,如果找到,用指定的置換串代替它

二、數字函式

函式含義

輸入輸出

abs(n)

得到n的絕對值

select abs(-15) from dual

15ceil(n)

計算大於或等於n的最小整數值

select ceil(44.778) from dual

45cos(n)

返回n的余弦值. n的單位是弧度

select cos(180) from dual

-.5984601

cosh(n)

計算n的雙曲余弦值

select cosh(0) from dual

1floor(n)

返回小於等於n的最大整數值

select floor(100.2) from dual

100power(m,n)

計算m的n次冪

select power(4,2) from dual

16mod(m,n)

返回m除以n的餘數.如果n是0,則返回m

select mod(10,3) from dual

1round(m,n)

計算保留到小數點右邊n位的m值. n預設設定為0,這會將m保留為最接近的整數.如果n小於0,保留到小數點左邊相應的位. n必須是整數

select round(100.256,2) from dual

100.26

trunc(m,n)

計算截尾到n位小數的m值. n預設為0,結果變為乙個整數值.如果n是乙個負數,那麼就截尾到小數點左邊對應的位上

select trunc(100.256,2) from dual

100.25

sqrt(n)

返回n的平方根. n必須是正數

select sqrt(4) from dual

2sign(n)

獲得n的符號位標誌.如果n<0返回-1.如果n=0返回0.如果n>0返回1

select sign(-30) from dual-1

三、日期函式

1、oracle日期使用:

rr格式與yy格式:簡單的講,rr 格式將日期中年的部分解釋為從 1950 到 1999; yy 格式將日中年的部分解釋為當前世紀 (2090)

2、日期函式

months_between:兩個日期之間的月數

add_months:加日曆月到日期

next_day:下個星期幾是幾號

last_day:指定月的最後一天

round:四捨五入日期

trunc:截斷日期

四、轉換函式

1、顯示資料型別轉換

常用的轉換函式:to_char;to_date;to_number

2、隱式資料型別轉換

在oracle中,在不同的資料型別之間關聯,如果不顯式轉換資料,則它會根據以下規則對資料進行隱式轉換

簡單總結:比較時,一般是字元型轉換為數值型,字元型轉換為日期型

算術運算時,一般把字元型轉換為數值型,字元型轉換為日期型

連線時(||),一般是把數值型轉換為字元型,日期型轉換為字元型

賦值、呼叫函式時,以定義的變數型別為準。

五、通用函式

這些函式可用於任意資料型別,用來轉換空值的函式

1、nvl (expr1, expr2)    expr1為null,返回expr2;不為null,返回expr1。注意兩者的型別要一致

2、nvl2 (expr1, expr2, expr3)    expr1不為null,返回expr2;為null,返回expr3。expr2和expr3型別不同的話,expr3會轉換為expr2的型別

3、nullif (expr1, expr2)    相等返回null,不等返回expr1

4、coalesce (expr1, expr2, ..., exprn)    列表中第乙個非空的表示式是函式的返回值,如果所有的表示式都是空值,最終將返回乙個空值。

5、巢狀函式:單行函式能夠被巢狀任意層次,巢狀函式的計算是從最裡層到最外層

6、條件表示式

在 sql 語句中提供 if-then-else 邏輯的使用

• 兩種用法:

– case 表示式

– decode 函式

1) case 表示式:使得 if-then-else 條件判斷容易實現

2) decode 函式:使得 case 或者 if-then-else 條件判斷容易實現:

oracle單行函式

1.字元函式 upper 全大寫 lower 全小寫 initcap 首字母大寫 length 取長度 substr 擷取字串 replace 替換 2.數值函式 round 四捨五入 trunc 擷取 mod 取餘 3.日期函式 當前日期 sysdate 日期 數字 日期 日期 數字 日期 日期 ...

oracle單行函式

單行函式 函式類別 單行 返回單個結果 substr,length 多行 返回多個結果,any,all 單行的分類 字元類,日期類,數字類,轉換類,通用類 1.字元類 轉換大小寫 lower 轉換為小寫 select ename,lower ename from emp upper 轉換為大寫 se...

Oracle單行函式

單行函式 運算元據物件,接受引數返回乙個結果,只對一行進行變換,每行返回乙個結果,可以轉換資料型別,可以巢狀,引數可以是一列或乙個值 一 字元函式 concat 字串連線,相當於 initcap 將引數的第乙個字母變為大寫 lower 將引數轉換為全部小寫字母 upper 將引數轉換為全部大寫字母 ...