1.、數值函數
函數 | 功能 | 實例 | 結果 |
abs | 求絕對值 | abs(-5) | 5 |
sqrt | 求平方根 | sqrt(2) | 1.41421356 |
power | 求冪 | power(2,3) | 8 |
cos | 求餘弦 | cos(3.14159) | -1 |
mod | 求除法餘數 | mod(16000,300) | 100 |
ceil | 求大於某數的最小整數 | ceil(2.35) | 3 |
floor | 求小於某數的最大整數 | floor(2.35) | 2 |
round | 按指定精度對十進制數四捨五入 | round(45.923,1) | 45.9 |
trunc | 按指定精度截斷十進制數 | trunc(45.923,-1) | 45 |
sign | 返回一個數值,表明傳入的參數的正負。大於0,則返回1;小於0,則返回-1;等於0,則返回0 |
2、字符型函數
ascii | 獲得字符的ASCII碼 | ascii('A') | 65 |
chr | 返回與ASCII碼相應的字符 | chr(65) | A |
lower | 將字符串轉換成小寫 | lower('SQL Course') | sql course |
upper | 將字符串轉換成大寫 | upper('SQL Course') | SQL COURSE |
initcap | 將字符串換成每個單詞以大寫開頭 | initcap('SQL Course') | Sql Course |
concat | 連接兩個字符串 | concat('SQL','Course')s | SQLCourse |
substr | 給出起始位置的長度,返回子字符串 | substr('String',1,3) | Str |
length | 求字符串長度 | length('Welcom') | 6 |
instr | 給出起始位置和出現的次數,求子字符長在字符串中出現的位置 | instr('stringreal','r',1,2) | 8 |
lpad | 用字符填充字符創左側到指定長度 | lpad('hi',7,'&') | &&&&&hi |
rpad | 用字符填充字符創右側到指定長度 | rpad('hi',7,'$') | hi$$$$$ |
trim | 在一個字符串中去除開頭的另一個字符串 | trim('s'from'sstith') | misth |
replace | 用一個字符串替換另一個字符串的子串 | replace('abc','b','d') | adc |
3、日期型函數
months_between(date1,date2) | 返回兩個日期間的月份 |
add_months(date,n) | 返回把月份數加到日期上的新日期 |
next_day(date,day) | 返回指定日期後的星期對應的新日期 |
last_day(date) | 返回指定日期所在的月的最後一天 |
round(date,format) | 按指定格式對日期進行四捨五入 |
new_time(current_date,current_zone,future_zone) | 根據參數1、2返回在3中才日期 |
sysdate | 返回當前日期和時間 |
trunc | 對日期按指定方式進行截斷 |
4、轉換函數
to_char | 轉換成字符串類型 | to_char(1234.5,'$9999.9') | $1,234.50 |
to_date | 轉化成日期類型 | to_date('1999-01-01','yyyy-mm-dd') | 01-1月-99 |
to_number | 轉換成數值類型 | to_number('1234.5') | 1234.5 |
5、統計函數
avg | 計算指定字段的平均值 |
count | 統計指定字段的數量 |
max | 返回指定字段的最大值 |
min | 返回指定字段的最小值 |
sum | 統計指定字段中數據之和 |
6、其它函數
nvl | 空值轉換函數 | nvl(null,'空') | 空 |
decode | 實現分之功能 | decode(1,1,'男',2,'女') | 男 |
userenv | 返回環境信息 | userenv('terminal') | oraserver |
greatest | 返回參數的最大值 | greatest(20,35,2,7) | 35 |
least | 返回參數的最小值 | least(20,35,2,7) |