--數值型函數 ABS(n)函數:用於返回絕對值。 MOD(n1,n2) 函數:求n2除以n1的余數。 Sign(n) 函數:返回n的符號,n<0返回-1,n>0返回1,n=0返回0。 --三角函數 cos(n) 函數:返回參數n的余弦制,n表示角度。 acos(n) 函數:返回n的反余弦值。 cosh(n) 函數:返回n的雙曲余弦值。 sin(n) 函數:返回n的正弦值。 sinh(n) 函數:返回n的雙曲正弦值。 asin(n) 函數:返回n的反正弦值。 tan(n) 函數:返回n的正切值。 tanh(n) 函數:返回n的雙曲正切值。 atan(n) 函數:返回n的反正切值。 ceil(n) 函數:返回輸入數字的最大整數。 floor(n) 函數:返回輸入數字的最小整數。 sqrt(n) 函數:返回n的平方根。n不可以為負數。 power(n2,n1) 函數:求n2的n1次的平方。n2為負數時,n1必須為整數。 exp(n) 函數:表示e的n次平方,e為數學常量e=2.71828183... log(n1,n2) 函數:返回以n1為底n2的對數(n1的多少的平方是n2)。n1除1和0以外的任意正數。 round(n,Integer) 函數:四舍五入函數,Integer是表示在數據第幾位四舍五入。Integer正數表示小數點后位置,Integer負數表示小數點前位置。 trunc(n,Integer) 函數:截取函數,截取n的幾位。 --字符型函數 chr(n[USING NCHAR_CS]) 函數:根據相對應的字符集,把給定的ASCII碼轉換為字符。Using nchar_cs 指明字符集。 ASCII(char) 函數:返回參數首字母的的ASCII碼值。 length(char) 函數:返回指定字符的長度。 lengthb(char) 函數:返回知道字符的字節長度。 Lengthc(char) 函數:以unicode字符為單位的長度。 length2(char) 函數:以ucs2代碼點為單位的長度。 length4(char) 函數:以ucs4代碼點為單位的長度。 substr(char,position,length_sub) 函數:char字符串,position截取的位置,length_sub截取的長度。 substr(char,position,length_sub) 函數的變型有:substrB,substrC,substr2,substr4。 concat(char1,char2) 函數:字符串鏈接函數,與||符號效果一樣。參數類型可以為 Clob 、 NClob。 instr(char,substring,position,occurrence) 函數:char需要搜索的字符串,substring搜索的字符。position開始搜索的位置。 instr(char,substring,position,occurrence) 函數的變型:instrB,Instrc,instr2,instr4。 upper(char) 函數:將char字符串全部大寫。 lower(char) 函數:將char字符串全部小寫。 initcap(char) 函數:將char字符串的首字母大寫。 nls_initcap(char) 函數:感覺與initcap效果一樣。 nls_upper(char) 函數:感覺與upper效果一樣。 nls_lower(char) 函數:感覺與lower效果一樣。 nlssort(char,[nlsparam]) 函數:根據nlsparam指定的方式對char進行排序。nlsparam:NLS_SORT=SCHINESE_PINYIN_M。 replace(char,search_string,replacement_string) 函數:char字符串,search_string需要被替換的字符串,replacement_stirng要替換成的字符串。 rpad(char1,n,char2) 函數:右填充字符串,實際功能就是char1與char2字符串拼接在一起,但是n現在拼接后字符串的長度。n如果大於拼接后的字符串就用空格代替。 lpad(char1,n,char2) 函數:左填充函數。 trim([LEADING | trailing |both],trim_character from trim_source) 函數: leading 刪除trim_source字符串的前綴字符。 trailing 刪除trim_source字符串的后綴字符。 both 刪除trim_source字符串的兩邊字符。 trim_character 刪除指定的字符,默認空格。 trim_source 需要被處理的字符串。 --例如 select trim(trailing 'e' from 'stre'),rtrim('sst','t') ,ltrim('qiuerjk','qi') from dual rtrim(char,[set]) 函數:刪除char字符串右邊set設置的字符。 ltrim(char,[set]) 函數:刪除char字符串左邊set設置的字符。 nls_charset_id(string) 函數:得到字符集對應的ID。 nls_charset_name(number) 函數:得到id字符集對應的名稱。 select nls_charset_name(2),nls_charset_id('WE8DEC') from dual; --日期型函數 sysdate 函數:獲取當前系統日期。 select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; systimestamp 函數:返回當前系統時間,帶時區。 dbtimezone 函數:干活當前系統時間的時區。 Add_months(data,integer) 函數:在當前日期上追加一個月的時間。 last_day(data) 函數:返回當前月份的最后一天。 next_day(data,char) 函數:返回當前日期退后的日期。 extract(datatime) 函數:返回指定時間中的日期部分。 --實例 select extract(year from sysdate) year, extract(minute from timestamp '2010-4-4 12:23:10') min, extract(day from timestamp '2010-4-4 12:23:10') sec from dual; months_between(date1,date2) 函數:返回date1和date2兩個日期直接的月份。放好整數說明是整月,小數說明月份不足。負數就是date1<date2. round函數和trunc函數都可以用於截取日期,返回日期的最近一天。 --轉換函數 ASCIISTR(char) 函數:將字符集的字符串轉換為數據庫字符集對應的ASCII字符串。 bin_to_num(data,data,...) 函數:將二進制轉換為十進制。data代表二進制的每一位進制數。 cast(expr as type_name) 函數:數據類型轉換,expr需要轉換的數據,type_name要轉換成的類型。 chartorowid(char) 函數:將字符串類型轉換為rowid類型,rowid為數據庫的唯一標識。 rowidtochar(rowid) 函數:將行記錄rowid轉換稱字符串。 rowidtonchar(rowid) 函數:返回的類型是nvarchar2. convert(char,dest_char_sest,source_char_set) 函數:字符串之間的字符集轉換。 char 要轉換的字符串 dest_char_sest 轉變后的字符集 source_char_set 原字符集,可以省略次參數。 hextoraw(char) 函數:把十六進制字符串,轉換為raw類型。 rawtohex(raw) 函數:把raw類型轉換為十六進制字符串。 Rawtonhex(raw) 函數:返回的是nvarchar2類型。 to_char(number) 函數:將數值轉換為字符串。可以用在日期轉換。 --to_char用於日期轉換 to_char(n,fmt,nlsparam) 函數: n 日期類型數據 fmt 要轉換的字符串格式。 nlsparam 使用語言類型 select to_char(sysdate,'YYYY-MM-DD'), to_char(sysdate,'HH24:MI:SS'), to_char(sysdate,'Month','NLS_DATE_LANGUAGE=ENGLISH') from dual to_date(char,fmt,nlsparam) 函數:字符串轉換為日期。 to_number(expr,fmt,nlsparam) 函數:字符串轉換為數字。 fmt 使用9999.9999表示。 to_single_byte(char) 函數:全角轉換為半角。 nvl(expr1,expr2) 函數:替換null值,如果expr1為null 這返回expr2。 nvl2(expr1,expr2,expr3) 函數:當expr1為null是返回expr3,expr1非null這返回expr2. avg([distinct | All] expr) 函數:求平均值。 distinct 表示除去重復值,ALL 表示包含所有值。expr表達式只能是數值類型。 count([distinct | ALL] expr) 函數:求記錄數函數。 max([distinct | ALL] expr) 函數:求最大值。 sum([distinct | ALL] expr) 函數:求和。 user 函數:返回當前會話的登錄名。 userenv(parameter) 函數:返回當前會話信息。 parameter 參數:language返回當前的會話的語言、字符集。sessionid返回當前會話ID,isdba返回單當前用戶是否DBA。 sys_context(namespace,parameter) 函數:得到Oracle已經創建的context。 decode(expr,search,result,[search1,result1..]) 函數:expr作為參數,search作為匹配條件,如果匹配成功就返回result。