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号