03_Oracle_标量函数和算术运算.ppt_第1页
03_Oracle_标量函数和算术运算.ppt_第2页
03_Oracle_标量函数和算术运算.ppt_第3页
03_Oracle_标量函数和算术运算.ppt_第4页
03_Oracle_标量函数和算术运算.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、标量函数和算术运算,Oracle基础,单元目标,记忆并熟练使用字符函数 记忆并熟练使用数值函数 记忆并熟练使用日期函数 记忆并熟练使用通用函数 记忆并熟练使用转换函数 能够在SELECT和WHERE 子句中使用算术运算,字符函数的使用,转换为大写字母 SELECT UPPER(smith) FROM DUAL; 转换为小写字母 SELECT LOWER(SMITH) FROM DUAL;,字符函数的使用,每个单词的首字母变成大写,其余字母小写 SELECT INITCAP(hello World) FROM DUAL; 使用INITCAP将雇员表中的姓名转换为开头字母大写 SELECT EMP

2、NO,INITCAP(ENAME) FROM EMP;,字符函数的使用,串连接(CONCAT):可以使用 “|” 进行串连接 SELECT CONCAT(HELLO ,WORLD) FROM DUAL; 或 SELECT HELLO | WORLD FROM DUAL; 说明:CONCAT 函数不如 | 使用灵活,字符函数的使用,求子串(SUBSTR) SELECT SUBSTR(ename,1,3) FROM emp; 截取子串时,从 0 截取和从 1截取的效果是一样的,字符函数的使用,求长度(LENGTH) SELECT LENGTH(ename) FROM emp;,字符函数的使用,串替

3、换(REPLACE) SELECT REPLACE(HELLO WORLD,WOR,WEL) FROM dual;,字符函数的使用,要求显示所有雇员的姓名和姓名的后三个字符 SELECT ename,SUBSTR(ename,LENGTH(ename)-2) FROM emp; SELECT ename,SUBSTR(ename,-3) FROM emp;,数值函数的使用,向下取下(FLOOR) SELECT FLOOR(11.9) FROM dual;,数值函数的使用,四舍五入(Round) SELECT ROUND(789.536) FROM dual;,数值函数的使用,四舍五入(Roun

4、d):指定保留小数位数 SELECT ROUND(789.536,2) FROM dual;,数值函数的使用,四舍五入(Round):对整数四舍五入 SELECT ROUND(789.536,-2) FROM dual;,数值函数的使用,截断小数位(TRUNC) SELECT TRUNC(789.536) FROM dual;,数值函数的使用,截断小数位(TRUNC):指定保留小数位 SELECT TRUNC(789.536,2) FROM dual;,数值函数的使用,截断小数位(TRUNC):对整数截断 SELECT TRUNC(789.536,-2) FROM dual;,数值函数的使用,

5、取余数(MOD) SELECT MOD(10,3) FROM dual;,日期函数,运算规律 日期 + 数字 = 日期 日期 - 数字 = 日期 日期 - 日期 = 数字 (天数),日期函数,查询当前日期 SELECT sysdate FROM dual; 显示10部门员工进入公司的星期数 SELECT empno,ename,ROUND(sysdate- hiredate) / 7) FROM emp WHERE deptno=10;,日期函数,在指定日期上加上指定的月数之后的日期(ADD_MONTHS) SELECT ADD_MONTHS(sysdate,4) FROM dual;,日期函

6、数,求出给定日期范围的月数(MONTHS_BETWEEN) SELECT EMPNO,ename,MONTHS_BETWEEN(sysdate,hiredate) FROM EMP;,日期函数,下一个给定的星期是那个日期(NEXT_DAY) SELECT NEXT_DAY(sysdate,星期一) FROM dual;,日期函数,求出给定日期所在月份的最后一天日期(LAST_DAY) SELECT LAST_DAY(sysdate) FROM dual;,日期函数,求给定日期的各日历字段( EXTRACT) SELECT EXTRACT(year FROM sysdate) FROM dual

7、;,转换函数,转换成字符串(TO_CHAR) 查询雇员号,姓名,以及入职的年份 SELECT empno,ename,TO_CHAR(hiredate,yyyy) FROM emp; 说明:yyyy 匹配年份,mm 匹配月份,dd 匹配日,转换函数,使用TO_CHAR设置日期的显示格式 SELECT empno,ename,TO_CHAR(hiredate,yyyy-mm-dd) FROM emp;,转换函数,使用fm去掉前导 0 SELECT empno,ename,TO_CHAR(hiredate,fmyyyy-mm-dd) FROM emp;,转换函数,通过TO_CHAR设置数值的格式

8、SELECT empno,ename,TO_CHAR(sal,99,999) FROM emp; 说明:9 代表 1 位数字,转换函数,显示金额 SELECT empno,ename,TO_CHAR(sal,$99,999) FROM emp; 说明:$代表美元,L代表本地,转换函数,转换成数字(TO_NUMBER) SELECT TO_NUMBER(123) +TO_NUMBER(123) FROM dual;,转换函数,转换成日期(TO_DATE) SELECT TO_DATE(2009-07-31 ,yyyy-mm-dd) FROM dual;,算术运算,查询每个员工的年收入 SELECT empno,ename,(sal+comm)*12 FROM emp; 问题:列名没有实际意义,能不能换个名字,给列起别名,查询每个员工的年收入 SELECT empno,ename,(sal+comm)*12 income FROM emp; 问题:当空值和任何数据运算时,结果都为空值,怎么办,通用函数,查询每个员工的年收入 SELECT empno,ename,(sal+NVL(comm,0)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论