SQL常用函数(Oracle数据库)
1.NVL(a,b) 如果a为空,返回b的值,否则返回a的值。
a,b的值可以是数字型、字符型、日期型,但a,b的数据类型必须为同一个类型。
①数字型:NVL(a,0);
②字符型:NVL(TO_CHAR(a),'the content');
③日期型:NVL(date,'31-DEC-99');
2.NVL(a,b,c) 如果a为空,返回c的值,否则返回b的值。
3.NULLIF(a,b) 如果a=b,则返回空,否则返回a的值。
4.ASCII(a) 返回字符a对应的十进制数。
5.CHR(a) a为一个整数,函数返回其对应的字符。
6.CONCAT(a,b) 连接a,b这两个字符串
7.INITCAP(a) 返回字符串a并将其第一个字母变为大写。
8.INSTR(c1,c2,a,b) 在一个字符串中搜索指定的字符,返回发现指定的字符的位置
含义:在c1字符串中搜索c2字符串,搜索的开始位置为a,函数返回第b次出现的位置
例子:select instr('oracle traning','ra',1,2) instring from dual;
上面例子结果为:9
9.LENGTH(a) 返回字符串a的长度
10.LOWER(a) 返回字符串a并将所有字符小写
11.UPPER(a) 返回字符串a并将所有字符大写
12.SUBSTR(a,b,c) 从字符串a中取子字符串,从b开始,取c个
13.REPLACE(a,b,c) 在字符串a中将字符串b替换成字符串c
14.SOUNDEX(a) 返回一个与给定字符串读音相同的字符串
例子:select xm from table1 where soundex(xm)=soundex('weather');
从xm列中返回结果:weather、wether
15.ABS(a) 返回a的绝对值
16.ACOS(a) 返回a的反余弦值
17.ASIN(a) 返回a的反正弦值
18.ATAN(a) 返回a的反正切值
19.CEIL(a) 返回大于或等于a的最小整数
20.FLOOR(a) 对a取整
21.MOD(a,b) 返回a除以b的余数
22.POWER(a,b) 返回a的b次方
23.SIGN(a) 取数a的符号,大于0返回1,小于0返回-1,等于0返回0
24.SQRT(a) 返回a的二次开方
25.ADD_MONTHS 增加或减去月份
例子:select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;
返回结果:200002
select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;
返回结果:199910
26.LAST_DAY 返回日期的最后一天
27.SYSDATE 系统当前日期
这是一个月以来接触过的函数,暂时总结了这么多,之后遇到的还会增加进去。