oracle的单行函数以及多行函数(聚合函数、分组函数)的使用
来源:互联网 发布:免费oa软件 编辑:程序博客网 时间:2024/06/15 06:40
先介绍字符函数:
大小写相关:
1.
select lower('Hellow'), upper('heHHlo'), initcap('oello')from dual;--dual空表!
结果:
hellow HEHHLO Oello
和大小写无关:
1.
SELECT trim('H' from 'HellowHH'), ltrim('HellowHH', 'H'),ltrim('HHellowHH', 'HH'), rtrim('HellowHH', 'H')from dual;
注意trim 与 ltirm 和 rtrim用法有区别,函数的意思就是把‘H’删掉
ellow ellowHH ellowHH Hellow
2.
select lpad(1000, 7, '*'), rpad(1000,7,'&')from dual;
就是lpad(1000,7,’‘);就是把1000的左边用‘’来补齐。
结果:***1000 1000&&&
3.连接字符串:
select concat('Hello', ' world')from dual;
Hello world
4.求子串
select substr('Hello worldlkasjdf', 3, 7)from dual;
llo wor
5.查找字符串的位置
select instr('hellow laksd', 'l')from dual;
3
6.replace替换字符串
select replace('hellow','h','mmm')from dual;
结果:
mmmellow
数学函数:
round()四舍五入。
select round(123.456,2),round(123.456,-2),round(123.45,0),round(123.45)from dual;
round(123.456,2),表示保留小数点后两位,若是-2的话,就是表示小数点前两位。
123.46 100 123 123
4.select trunc(1234.5678, 2)
from dual;
去除trunc()
1234.56
常见的日期函数:
1.可以直接在日期数据上加减数值,该数值表示日期前后的天数。
2.SYSDATE:获取当前的系统时间
3.MONTHS_BETWEEN:获取两个日期间的相差月数
4.ADD_MONTH:获取几个月后的日期
5.LAST_DAY:获取本月的左后一天的日期
6.EXTRACT:从本月中获取某一部分的值
1.sysdate()
select sysdate + 2from dual;
今天2015年10月18号
20-10月-15
2.add_months()
select add_months(sysdate, 4)from dual;
18-2月 -16
3.trunc 和 months_between的联合使用
select ename, trunc(months_between(sysdate, hiredate))from emp;
结果;
SMITH 418ALLEN 415WARD 415JONES 414MARTIN 408
5.extract()取出日期中的数据
select extract(year from sysdate),extract(month from sysdate),extract(day from sysdate)from dual;
结果:
2015 10 18
其他函数:
case 关键字:
select ename, deptno,sal, case when deptno=10 then sal + 100 when deptno=20 then sal + 200 when deptno=30 then sal + 300 ELSE sal end salaryfrom emp;
结果为:
SMITH 20 800 1000ALLEN 30 1600 1900WARD 30 1250 1550JONES 20 2975 3175MARTIN 30 1250 1550BLAKE 30 2850 3150CLARK 10 2450 2550SCOTT 20 3000 3200KING 10 5000 5100TURNER 30 1500 1800ADAMS 20 1100 1300JAMES 30 950 1250FORD 20 3000 3200
空值转换函数:
nal:(“no value?”)
select ename , deptno, comm, nvl(comm,0)from emp;
nvl(null,0);这里要求 两列的数值是相同的,因为此处comm是数值型,所以0是可以的,若是转换成字符串’0‘,那么第一个参数,就to_char(comm)了
SMITH 20 0ALLEN 30 300 300WARD 30 500 500JONES 20 0MARTIN 30 1400 1400BLAKE 30 0CLARK 10 0SCOTT 20 0KING 10 0TURNER 30 0 0ADAMS 20 0JAMES 30 0FORD 20 0MILLER 10 0
0 0
- oracle的单行函数以及多行函数(聚合函数、分组函数)的使用
- oracle的sys_connect_by_path及有关分组分类聚合函数使用
- ORACLE单行函数与多行函数之七:多行函数之分组函数示例
- oracle的单行函数与多行函数。。。。
- Mysql分组以及聚合函数
- MySql分组以及聚合函数
- ORACLE里边的单行函数
- 常用的单行函数(oracle)
- oracle的单行函数initcap()
- Oracle数据库知识梳理---续(单行函数,多行函数,分组数据,分组过滤)
- oracle之聚合函数(分组函数)详解
- Oracle的分组函数
- [by 王谭]oracle常用函数-单行函数-聚合函数
- 聚合函数的使用
- Oracle单行函数和多行函数
- mysql与oracle中分组、聚合函数的区别!
- 十三、Mysql 分组函数/聚合函数/多行处理函数
- oracle的数学函数和聚合函数
- 【黑马训练营】IOS C语言指针
- UI - XMLParser
- 新项目启动
- 百度api语音
- MFC中的Invalidate、OnDraw、OnPaint函数的作用、区别和联系
- oracle的单行函数以及多行函数(聚合函数、分组函数)的使用
- 使用JNDI连接数据库
- 2016-我的求职之路
- ios 微信分享审核上架注意事项
- MFC中的GUI(一)
- <PY> Python Zen
- android stidio so动态库找不到问题
- 32位Windows下可执行文件节区数目取值类型
- Ubuntu下桌面死机怎么办?--不需要重启的办法