您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第04章 数据库内置函数
第四章数据库内置函数本章主要内容4.1前言介绍内置函数。4.2数学函数描述各个数学函数的语法。4.3字符函数描述各个字符函数的语法。4.4日期函数描述各个日期函数的语法。4.5其他函数描述各个其他函数的语法。4.1前言介绍常用的一些内置函数,它们在数据库的一些操作中有着很便捷的也很重要的作用。尤其是一些常用的数学函数,字符函数,日期函数等。数学函数SELECTTRUNC(9.45,1)返回:9.4截取指定精度数值TRUNCSELECTABS(-4)FROMDUAL;返回:4取数值表达式的绝对值ABS举例描述函数名SELECTCEIL(43.5)返回:44返回大于或等于所给数字表达式的最小整数CEILSELECTPOWER(5,2)返回:25取数值表达式的幂值POWERSELECTROUND(43.543,1)返回:43.5将数值表达式四舍五入为指定精度ROUNDSELECTSIGN(-43)返回:-1对于正数返回+1,对于负数返回-1,对于0则返回0SignSELECTFLOOR(43.5)返回:43取小于或等于指定表达式的最大整数FLOORSELECTROUND(44.923,2),ROUND(44.923,0),ROUND(44.923,-1)FROMDUAL;ROUND函数DUAL是一个‘伪表’,可以用来测试函数和表达式。123312字符串函数举例描述函数名SELECTLENGTH('SQLServer课程')返回:12返回传递给它的字符串长度LENGTHSELECTLOWER('SQLServer课程')返回:sqlserver课程把传递给它的字符串转换为小写LOWERSELECTUPPER('sqlserver课程')返回:SQLSERVER课程把传递给它的字符串转换为大写UPPERSELECTLTRIM('周智宇')返回:周智宇(后面的空格保留)清除字符左边的空格LTRIMSELECTRTRIM('周智宇')返回:周智宇(前面的空格保留)清除字符右边的空格RTRIMSELECTINITCAT(‘helloworld’)返回:HelloWorld将字符串的第一个字母变为大写INITCATSELECTREPLACE('莫乐可切.杨可','可','兰')返回:莫乐兰切.杨兰替换一个字符串中的字符REPLACE字符串函数举例描述函数名SELECTINSTR(‘Hello’,’e’)返回:2找出某个字符串的位置INSTR使用指定的字符在字符的左边填充LPAD使用指定的字符在字符的右边填充RPAD裁剪掉前面或后面的字符串TRIM日期函数SELECTsysdateFROMdual;取得当前的系统日期sysdate举例描述函数名在日期date上增加count个月ADD_MONTH给出Date2-date1的月数(可以是小数)MONTHS_BETWEEN(date2,date1)NEXT_DAY(date,’day’)给出日期date之后下一天的日期,这里的day为星期,如MONDAY,Tuesday等。类型转换函数这些函数适用于把一种数据类型转换为其他数据类型:TO_CHAR(expr1,format)转换日期/数值格式到字符串selectto_char(sysdate,'yyyy/mm/ddhh24:mi:ss')fromdual;selectto_char(1000,‘$99.9')fromdual;TO_DATE(expr1,format)将字串转换为ORACLE的日期selectto_date(‘2009/12/09','yyyy/mm/dd')fromdual;TO_NUMBER(expr1)将给出的字符转换为数字SELECTTO_NUMBER(‘1947’)“FISCAL_YEAR”FROMDUAL通用函数这些函数适用于任何数据类型,同时也适用于空值:NVL(expr1,expr2)Toconvertanullvaluetoanactualvalue,usetheNVLfunctionNVL2(expr1,expr2)DOCODE(expr1,expr2,...,exprn)CASENVL函数将空值转换成一个已知的值:可以使用的数据类型有日期、字符、数字。函数的一般形式:NVL(referred,0)NVL(stubirth,‘2009-10-10')NVL(job_id,'NoJobYet')条件表达式在SQL语句中使用IF-THEN-ELSE逻辑。使用两种方法:CASE表达式DECODE函数CASE表达式在需要使用IF-THEN-ELSE逻辑时:CASEexprWHENcomparison_expr1THENreturn_expr1[WHENcomparison_expr2THENreturn_expr2WHENcomparison_exprnTHENreturn_exprnELSEelse_expr]ENDCASE表达式下面是使用case表达式的一个例子:SELECTOrder,Customer,Orderdate,Shipdate,Shipcity,CASEShipcityWHEN'上海'THEN'直辖市'WHEN'南京'THEN'省内'WHEN'无锡'THEN'省内'WHEN'常州'THEN'省内'ELSE'省外'ENDProvincefromTBL_ORDERS;DECODE函数在需要使用IF-THEN-ELSE逻辑时:DECODE(col|expression,search1,result1[,search2,result2,...,][,default])DECODE函数SELECTOrder,Customer,Orderdate,Shipdate,Shipcity,DECODE(Shipcity,'上海','直辖市','南京','省内','无锡','省内','常州','省内','省外')ProvinceFROMTBL_ORDERS总结通过本章学习,您应该学会:使用函数对数据进行计算使用函数修改数据使用函数控制一组数据的输出格式使用函数改变日期的显示格式使用函数改变数据类型使用NVL函数使用IF-THEN-ELSE逻辑
本文标题:第04章 数据库内置函数
链接地址:https://www.777doc.com/doc-3163110 .html