oracle常用單行函數

一、字符函數
    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 15
Ceil(n) 計算大於或等於n的最小整數值 Select ceil(44.778) from dual 45
Cos(n) 返回n的餘弦值. n的單位是弧度 Select cos(180) from dual -.5984601
Cosh(n) 計算n的雙曲餘弦值 Select cosh(0) from dual 1
Floor(n) 返回小於等於n的最大整數值 Select floor(100.2) from dual 100
Power(m,n) 計算m的n次冪 Select power(4,2) from dual 16
Mod(m,n) 返回m除以n的餘數.如果n是0,則返回m Select mod(10,3) from dual 1
Round(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 2
Sign(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 條件判斷容易實現:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章