资源描述:
《《Lesson单行函数》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单行函数学习目标通过本节课的学习,将掌握以下知点:SQL中不同类型的函数在SELECT语句中使用字符,数字和日期函数转换型函数的应用SQL函数函数输入参数1参数2参数n函数执行输出结果两种SQL函数函数单行函数多行函数单行函数单行函数:操作数据对象接受函数返回一个结果只对一行进行变换每行返回一个结果可以转换数据类型可以嵌套参数可以是一列或一个值function_name(arg1,arg2,...)单行函数转换字符数值日期通用单行函数字符函数LOWERUPPERINITCAPCONCATSUBSTRLEN
2、GTHINSTRLPAD
3、RPADTRIMREPLACE字符函数大小写控制函数字符控制函数大小写转换函数这类函数改变字符的大小写函数结果LOWER('SQLCourse')sqlcourseUPPER('SQLCourse')SQLCOURSEINITCAP('SQLCourse')SqlCourse(首字母大写)INITCAP('SQLCourse')Sqlcourse(首字母大写)使用大小写转换函数显示员工SMITH的员工号、名字、部门号:SELECTempno,ename,deptnoFROMemp
4、WHEREename='smith';norowsselectedSELECTempno,ename,deptnoFROMempWHERELOWER(ename)='smith';Where中字符比较是大小写敏感的CONCAT('Hello','World')SUBSTR('HelloWorld',1,5)LENGTH('HelloWorld')INSTR('HelloWorld','W')LPAD(sal,10,'*')RPAD(sal,10,'*')TRIM('H'FROM'HelloWorld')T
5、RIM('a'from'aaahhsaaa')REPLACE('thisisthat','is','are')HelloWorldHello106*****2400024000*****elloWorldHhstharearethat函数结果字符处理函数这类函数控制字符:扩展:考虑下面的问题Selecttrim('a'from'aaahhsbbb')fromdual结果是多少?字符处理函数SELECTCONCAT(empno,ename)NAME,job,LENGTH(ename),INSTR(ename
6、,'A')"Contains'A'?"FROMempWHERESUBSTR(job,4)='ESMAN';123312数字函数ROUND:4舍5入到指定的小数位ROUND(45.926,2)45.93TRUNC:将值截断到指定的小数位TRUNC(45.926,2)45.92MOD:返回相除后的余数MOD(1600,300)100SELECTROUND(45.923,2),ROUND(45.923,0),ROUND(45.923,-1)FROMDUAL;ROUND函数DUAL是一个‘伪表’,可以用来测试函数
7、和表达式。123312SELECTTRUNC(45.923,2),TRUNC(45.923),TRUNC(45.923,-2)FROMDUAL;TRUNC函数312123MOD函数SELECTename,sal,MOD(sal,1000)FROMempWHEREjob='SALESMAN';日期Oracle内部使用数字存储日期:世纪,年,月,日,小时,分钟,秒。默认的日期格式是:DD-MON-RR.(如:31-12月-01)可以只指定年的后两位在20世纪存放21世纪的日期。同样可以在21世纪存放20世纪的
8、日期。SYSDATE是返回日期和时间的函数,返回当前Oracle系统的是日期时间SELECTename,hiredateFROMempWHEREenamelike'A%';日期函数SYSDATE返回:日期时间日期的数学运算在日期上加上或减去一个数字结果仍为日期。两个日期相减返回日期之间相差的天数。可以用数字除24来向日期中加上或减去小时。日期的运算示例:从日期中加或减一个数值,还是得到一个日期结果值SELECTto_date('2011-03-30','yyyy-mm-dd')+2FROMdual两个日期
9、相减以便得到他们相差多少天SELECTto_date('2011-03-20','yyyy-mm-dd')-to_date('2010-03-20','yyyy-mm-dd')FROMdual注:日期不能加日期!日期的数学运算SELECTename,(SYSDATE-hiredate)/7ASWEEKSFROMempWHEREdeptno=20;日期函数两个日期相差的月数MONTHS_BETWEENADD_MONTHSNEXT