Oracle用的常用函數

  1.字符函數
    1. lower(argo) 將大寫字符轉換爲小寫字符
    2. upper(arg1) 將小寫字符轉化爲大寫
    3. initcap(arg1) 單詞首字母大寫
    4. dsubstr(arg0, arg1)  將arg0中的字符串從第arg1截取到最後(截取後的字符包括第arg1字符)
    5. substr(a,b,c) 將a 中的字符串從第b截取,截取長度爲c
    6. lpad(a,b,c) 在a字符中向左填充b c個長度
    7 rpad(a,b,c) 在a字符中向右填充b c個長度
    8. trim(a from b) 在a字符串的兩端取出b字符
    9. replace(a,b,c) 將a字符串中的b替換成c
  2. 數字函數
    1. mod(a,b) a對b取莫
    2. round(a,b) 注意:當b爲正整數時則a保留兩位小數,如果大於小數個數則返回原來的數字
       爲o則返回整數,若b爲負數則對小數前的正整數部分進行取捨。
    3. trunc(a,b) 截取,b爲幾則保存小數幾位,若爲負數則截取整數部分,從各位開始,截取後補零
  3. 日期函數
    1. to_char(sysdate [,b]) 將時間轉換爲字符串,可以指定轉換後的格式
       eg:select to_char(sysdate,'yyyy-MM-dd hh24:mi:ss') from dual
    2. systemstamp 顯示時間戳
    3. sysdate-1 時間可以做加減這裏默認加的是一天
eg:select to_char(sysdate-1) from dual;
    4. months_between(a,b) 計算兩個時間的差值
    5. add_months(a,b) 在a日期上加上b個月
    7. last_day(a); a時間所月的最後一天對應的日期
    8. next_day(a,b)在a日期的下一個b時間的日期
       eg: select next_day(sysdate,'星期一') from dual
    9. round(a,b) 在a日期的範圍內取b的大約值,
       eg:select round(sysdate ,'year') from dual 結果01-1月 -13 ,b可取值:year、month.....
    10. trunc(a,b) 在a日期中截取b的範圍 b可取值year、month....


  4. 轉換函數
    1. to_char() 將其他類型轉換爲字符串
    2. to_date() 將字符串轉換爲date類型:注意:必須符合Oracle的date格式


  5. 通用函數
    1. nvl(a,b); 如果a爲null則返回b,若不爲null則返回a
    2. nvl2(a,b,c) 如果a爲null返回c,不爲null返回b
    3. nullif(a,b) 如果a=b則返回空,否則返回a
    4. coalesce(a,b,c,d....) 從左到右返回字一個不爲null的值
    5. wm_concat()行轉列
 6. 條件表達式
    1. case(expre)
       eg: select ename,job,sal 漲前, case job when 'PRESIDENT' then sal+1000
  when 'MANAGER' then sal+800
  else sal+400
  end 漲後
  from emp;
     2. decode(a0
a,c
a1,c1
a2, c2
d)
        from emp; 如果a0=a則翻譯c,如果a0=a1則返回c1,如果a0=a2則返回c2,如果都不等則返回d
發佈了34 篇原創文章 · 獲贊 9 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章