oracle——学习之路(oracle内置函数)
oracle与很多内置函数,主要分为单行函数与集合函数。
首先要提一下dual表,它oracle的一个表,没有什么实质的东西,不能删除它,否则会造成Oracle无法启动等问题,他有很大用处,可以利用它查询很多它没有的字段
举个栗子:
select 30* 20 from dual;
单行函数:
数值型函数:
绝对值函数:abs()
select abs(-300) from dual;
取余函数;mod(n1,n2)返回n1除以n2的余数
select mod(2,3) from dual;
四舍五入截取函数: round(n,integer)如果integer不是整数,自动截取整数部分,如果是正整数,就截取n的四舍五入integer位小数,如果integer未负整数,n被四舍五入小数点向左integer位
select round(23456.4322,3) from dual;
select round(23456.4322,3.43) from dual;
结果同上
select round(23456.4322,3.53) from dual;
结果同上
select round(23456.4322,-4) from dual;
select round(23456.4322,-4.3) from dual;
结果同上
trunc(n,integer)也是截取函数
select trunc(23456.4322,-4) from dual;
字符型函数:
获取字符串长度:length()
select length('asdsdasdsdas') from dual;
字符串截取函数:substr(待截取字符串,从哪个位置开始截取,截取多少个字符) 注意下标从1开始,截取多少个字符如果没有说,就默认截取到最后一个字符
select substr('asdsdasdsdas',4,5) from dual;
select substr('asdsdasdsdas',4) from dual;
字母大小写转换函数:
upper()转换成大写字母 lower()转换成小写字母
select upper('wewe') from dual;
select lower('DFS') from dual;
替换字符串函数:
replace(待替换的字符串,要替换的字符串,替换成什么字符串)
select replace('明天是什么天气','什么天气','晴天') from dual;
删除字符串首位指定字符的函数:trim()默认删除空格
both是删除前后两边的的指定字符,leading是删除前边制定字符(左),trailing删除后边指定字符
select trim(leading '2' from '234334232'),trim(' test ') from dual;
select trim(trailing '2' from '234334232'),trim(' test ') from dual;
select trim(both '2' from '234334232'),trim(' test ') from dual;
ltrim()去除指定字符的左边所有字符,如果没有指定默认去除空格
select ltrim(' fsdsddcsd', 'sds') ,ltrim(' fsdsddcsd') from dual;
rtrim()与ltrim()相似
日期型函数:
sysdate系统日期
select sysdate from dual;
为日期加上指定月份函数:add_moths()
select add_months(sysdate,3) from dual;
返回指定月份最后一天函数:last_day()
select last_day(sysdate) from dual;
返回指定日期后一周的函数:next_day()
select next_day(sysdate,'星期二') from dual;
提取指定日期特定部分的函数:extract()
select extract(year from sysdate) from dual;
select extract(month from sysdate) from dual;
select extract(day from sysdate) from dual;
得到i两个日期之间的月份数:months_between()
select months_between(sysdate,to_date('1989-01-2','yyyy/mm/dd')) from dual;
数值转换成字符型函数:to_char()也可以将日期转换成字符型
select to_char(23.55,'99.9') from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual;
字符转日期型函数:to_date()
select to_date('2018-11-09','yyyy-mm-dd') from dual;
字符串转数字函数:to_number()
select to_number('23121.32') from dual;
替换NULL值函数:nvl(n1,n2)如果n1为空,返回n2的值,否则返回n1的值,要求两个参数的类型一致,至少能进行隐式转换
select nvl(comm,0) from emp;
nvl2(n1,n2,n3) n1为空返回n3,不为空,返回n2
select nvl2(comm,100000,0) from emp;
集合函数:
avg()求平均值函数,返回数值类型
select avg(sal) from emp;
count()求记录数量的函数
select count(*) from emp;
select count(sal) from emp group by deptno;
返回最大最小值函数:max() min()
select max(sal) from emp;
select min(sal) from emp;
求和函数:sum()
select sum(sal) from emp;
其他函数:
表达式匹配函数:decode()
select decode(grade,1,'E',2,'D',3,'C',4,'B',5,'A') from salgrade;
最新文章
- maven-replacer-plugin
- 初学者-ASCII码 数字转字母
- 【转】【WPF】 WPF 调用API修改窗体风格实现真正的无边框窗体
- Java Socket常见异常处理 和 网络编程需要注意的问题
- The C++ Standard Library --- A Tutorial Reference 读书笔记
- iOS 开发 上传代码至github(转)
- centos 下搭建 php环境(2) mysql 安装
- humble number(hd1058)
- mysql高级查询
- jQuery中的方法
- PHP数据访问易错点(20161030)
- 关于JS中数组的分析操作
- mycat入门--数据库分片
- ubantu安全卸载火狐浏览器
- ExcelUploadUtil
- change safari user agent
- 5分钟搞定Nginx安装
- CLE的使用笔记
- Into outfile禁用情况下另类方法拿webshell
- EF Code First更新数据库时报错:provider: SQL Network Interfaces, error: 26