Oracle 的基本函數介紹

來源:互聯網
上載者:User

Oracle 的函數分為基本函數和分析函數,

其中基本函數是最常用的,而分析函數的話,

傳言是在資料倉儲這類的東西中才會經常用到,

在這篇博文中,則只是介紹最常用的 Oracle 基本函數。

介紹呢,會依照下面的路線進行,

字元函數

數字函數

日期函數

轉換函式

組函數

先是字元函數開始吧

1.  ASCII(c)

    其中 c 呢是一個字串參數,這個函數的作用就是通過傳遞進去的字串,

    然後返回這個字串第一個字母的 ASCII 碼值,

2. CHR(i)

    其中的 i 是一個數字,然後會返回一個用十進位表示的字元,也就是 ASCII(c)的逆函數

3. CONCAT(c1,c2)

    這個函數中有兩個字串參數,這個函數的功能就是將兩個字串拼接起來

4. INITCAP(c1)

    這個函數比較特殊,其擁有一個字串參數 c1 ,

    它的功能是將字串中的每個單詞的第一個字母大寫,而其他字母小寫返回,

    其中單詞又空格,控制字元,標點符號來限制

5. INSTR(c1,c2,i,j)

    這個函數呢,其中參數比較多,有四個,c1 和 c2 為字串,而 i , j 則為數字,

    i 和 j 兩個參數是可選的,也就是說可以沒有這兩個參數,這是因為這兩個參數均有預設值,

    均為 1

    這個函數的功能為,返回 c2 在 c1 中第 j 次出現的位置,其實這也就是一個搜尋過程,

    而搜尋的起始位置則是由 i 確定的,i 確定從 c1 中第 i 個字元開始匹配

6. LENGTH(c)

    這個函數呢,功能就很明顯了,就是返回傳遞進去的參數 c 這個字串的長度

7. LOWER(c)

    這個函數的功能也是比較明顯的,

    就是將傳遞進來的參數即一個字串 c 全部轉換為小寫後返回

8. UPPER(c)

    這個函數的功能就是將 c 這個字串中的字元全部大寫後返回

9. LPAD(c1,i,c2)

    其中有三個參數,c1 和 c2 是字串,而 i 則為數字,   

    如果 i 小於 c1 的長度,那麼只返回 i 那麼長的 c1 的字元,其他的將被截去,

    否則在 c1 的左側使用 c2 字串補足到長度 i ,可以多次重複,

    c2 的預設值為單空格。這個函數返回的字串的長度一定是 i

10. RPAD(c1,i,c2)

    這個函數呢和上面的功能差不多,只不過上面的 LPAD 函數是從左至右補充,

    而這個 RPAD 則是從右至左進行補充,

    也就是當 i 的值小於 c1 的長度時,直接將 c1 進行截取然後返回長度為 i 的字串,

    當 i 的值大於 c1 的長度時,便使用 c2 對 c1 從右至左進行補充

11. LTRIM(c1,c2)

    這個函數的功能是把 c1 最左邊的字元去掉,使其第一個字元不在 c2 這個字串中

    如果不能理解的,請注意比較下面的中的各個結果

12. RTRIM(c1,c2)

    這個函數也和上面的函數功能類似,只不過不是從左邊開始比較了,而是從字串 c1 的右邊比較,

    使 c1 的最右邊的字母不在 c2 這個字串中

13. REPLACE(c1,c2,c3)

    這個函數的作用比較特殊,是使用 c3 來代替在 c1 中出現的 c2 ,然後將結果返回

14. SUBSTR(c1,i,j)  

    上面的參數中 c1 是字串,i 和 j 是數字,而且 j 這個參數是可選的,即是可以沒有的,

    從 c1 的第 i 位開始返回長度為 j 的截取後的字串,如果 j 位空,則直到 c1 的尾部

    說白了你,就是 C# 中的 substring 函數

15. TRANSLATE(c1,c2,c3)

    這個函數的功能就是將 c1 和 c2 中相同的字元使用 c3 來代替,然後再返回結果

    這個函數呢,由於比較難以解釋,所以還需按著下面的來說明,

    比如,BaoBeiMe 中的第一個字母和 Bei 中的第一個字母是相同的,

    故使用 Xza 中的第一個字母取代,

    而 BaoBeiMe 中的 Bei 和 Bei 中的三個字元全部匹配,所以必須使用 Xza 一起進行替代 Bei

16. TRIM(c1 from c2)

    該函數使用者從字串的頭部,尾部和兩端截斷特定的字元,

    c1 為要截取的字元,c2 為源字串

 

 

 

再是數字函數

這裡說到數學函數呢,說實在的,和 C# 裡的 Math 下的數學函數差不多了,

需要注意的就是在 Oracle 中所有的三角函數的參數和值都是弧度而非角度。

1. ABS(n)

    這個函數見多了的,就是求 n 的絕對值

2. CEIL(n)

    返回 >= n 的最小整數

3. FLOOR(n)

    返回 <= n 的最大整數

4. SIN(n)

   返回弧度為 n 的正弦值

5. COS(n)

    返回弧度為 n 的餘弦值

6. TAN(n)

    返回弧度為 n 的正切值

7. EXP(n)

    返回 e 的 n 次冪值即 e^n

8. POWER(n1,n2)

    返回 n1 的 n2 次方,即 n1^n2

9. MOD(n1,n2)

   返回 n1 除以 n2 的餘數,即 n1%n2

10 . LN(n)

    返回 n 的自然對數

11. LOG(n1,n2)

    返回以 n1 為底的 n2 的對數

12. SQRT(n)

    返回 n 的平方根

13. TRUNC(n1,n2)

    返回截尾到 n2 位小數的 n1 的值,n2 的預設值為 0,

    當 n2 為預設值設定時,會將 n1 截尾為整數,如果 n2 為負數,

    就截尾在小數點左邊的相應的位上。

14. ROUND(n1,n2)

    返回四捨五入小數點右邊 n2 位的 n1 的值,n2 的預設值為 0

15. SIGN(n)

    n < 0 則返回 –1

    n > 0 則返回 1

    n = 0 則返回 0

 

 

再是日期函數

既然是日期函數的話,那麼肯定操作的就是日期類型的資料了,

1. SYSDATE

    這個函數呢,比較特殊,沒有參數,所以也不需要加什麼括弧之類的了,

    直接裸用就 OK 了,這個函數的作用就是返回當前的時間和日期

2. ADD_MONTHS(d,i)

    返回日期 d 加上 i 個月後的結果, i 可以是任意整數。

3. LAST_DAY(d)

    返回日期 d 所在月份的最後一天

4. MONTHS_BETWEEN(d1,d2)

    返回日期 d1 和 日期 d2 之間月的數目

 

5. TRUNC(d,format)

    返回由 format 指定的單位的日期 d

    比如您可以指定 format 為 y ,則表明是返回指定日期所在的年(以年為單位)

    如果指定 format 為 mm ,則表明是返回指定日期所在的月(以月為單位)

    如果指定 format 為 d ,則表明是返回指定日期所在的天(以天為單位)

再是轉換函式

轉換函式,用於在多種資料類型之間轉換

1. ROWIDTOCHAR(rowid)

    這個函數的功能就是將類型為 ROWID 的參數 rowid 轉換為字串類型

2. CHARTOROWID(c)   

    這個函數呢,和上面的 ROWIDTOCHAR 的功能相反,是將字串 c 轉換為 ROWID 資料類型

3. TO_CHAR(x,format)

    這個函數的功能就是將一個參數 x 轉換為字串類型,

    其中 x 可以是 number 或者 date 類型

4. TO_DATE(c,format)

    將字串轉換為 Date 資料類型

5. TO_NUMBER(c)

    將一個字串參數轉換為 number 資料類型

再是組合函數

這個呢就比較常用了,就是 COUNT() 啊,AVG()啊,MAX(),MIN()這些了

這些就不多做介紹了

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.