sql常用函数
- NVL(EXP1, EXP2)  如果 EXP1 为空,则返回 EXP2 , 否则返回 EXP1
SELECT NVL('', 'A' ) FROM DUAL
- 
NVL2(EXP1, EXP2, EXP3) 如果 exp1 为空,则返回 exp3, 否则返回 exp2 SELECT NVL2('','A' ,'B' ) FROM DUAL
- 
NULLIF(EXP1,EXP2) 如果 exp1=exp2, 则返回空,否则返回 exp1 SELECT NULLIF('A','') FROM DUAL
 SELECT NULLIF('','') FROM DUAL
- ASCII 
 返回与指定的字符对应的十进制数;select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32
- CHR 
 给出整数,返回对应的字符;select chr(54740) zhao,chr(65) chr65 from dual; ZH C -- - 赵 A 
- CONCAT 
 连接两个字符串;select concat('010-','88888888')||'转23' 高乾竞电话 from dual; 高乾竞电话 ---------------- 010-88888888转23
- INITCAP 
 返回字符串并将字符串的第一个字母变为大写;select initcap('smith') upp from dual; UPP ----- Smith
- INSTR(C1,C2,I,J) 
 在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
 C1 被搜索的字符串
 C2 希望搜索的字符串
 I 搜索的开始位置,默认为1
 J 出现的位置,默认为1( 即第几次出现1,带表第一次出现,2代表第2次出现,以下例子如果是1,则返回的结果应该是2,因为前边还有个符合的 ra 就是在 oracle这个字符串中 )select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9
- LENGTH 
 返回字符串的长度;select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst; NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL)) ------ ------------ ---------------- ------------ --------- -------------------- 高乾竞 3 北京市海锭区 6 9999.99 7 
- RPAD和LPAD(粘贴字符) 
 RPAD 在列的右边粘贴字符
 LPAD 在列的左边粘贴字符select lpad(rpad('gao',10,'*'),17,'*')from dual; *******gao*******
- LTRIM和RTRIM 
 LTRIM 删除左边出现的字符串
 RTRIM 删除右边出现的字符串select ltrim(rtrim(' gao qian jing ',' '),' ') from dual; LTRIM(RTRIM(' ------------- gao qian jing
- SUBSTR(string,start,count) 
 取子字符串,从start开始,取count个select substr('13088888888',3,8) from dual; SUBSTR(' -------- 08888888
- REPLACE('string','s1','s2') 
 string 希望被替换的字符或变量
 s1 被替换的字符串
 s2 要替换的字符串select replace('he love you','he','i') from dual; REPLACE('H ---------- i love you
- TRIM('s' from 'string') 
 LEADING 剪掉前面的字符
 TRAILING 剪掉后面的字符
 如果不指定,默认为空格符
- ABS 
 返回指定值的绝对值select abs(100),abs(-100) from dual; ABS(100) ABS(-100) --------- --------- 100 100
- ACOS 
 给出反余弦的值
- ASIN 
 给出反正弦的值
- ATAN 
 返回一个数字的反正切值
- CEIL 
 返回大于或等于给出数字的最小整数select ceil(3.1415927) from dual; CEIL(3.1415927) --------------- 4
- COS 
 返回一个给定数字的余弦
- COSH 
 返回一个数字反余弦值
- .EXP 
 返回一个数字e的n次方根select exp(2),exp(1) from dual; EXP(2) EXP(1) --------- --------- 7.3890561 2.7182818 
- FLOOR 
 对给定的数字取整数select floor(2345.67) from dual; FLOOR(2345.67) -------------- 2345
- ADD_MONTHS 
 增加或减去月份select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual; TO_CHA ------ 200002
- MONTHS_BETWEEN(date2,date1) 
 给出date2-date1的月份 个数select months_between('19-12月-1999','19-3月-1999') mon_between from dual; MON_BETWEEN ----------- 9
- TO_CHAR(date,'format') 
select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual; TO_CHAR(SYSDATE,'YY ------------------- 2004/05/09 21:14:41 
- TO_DATE(string,'format') 
 将字符串转化为ORACLE中的一个日期
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号