资源描述:
《oracle实用函数全集》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Oracle常用SQL函数 单行函数包括,字符、数字、日期、转换和普通函数。 字符函数举例: •全小写 LOWER('SQLCourse') sqlcourse •全大写UPPER('SQLCourse') SQLCOURSE •首字母大写INITCAP('SQLCourse') SqlCourse 拼接CONCAT('Good','String') GoodString 取子串 SUBSTR('String',1,3) Str 求长度 LENGTH('String') 6 数字函
2、数举例: ROUND--对数值进行四舍五入操作 TRUNC--截断。注意截断和舍入的位数,可以是负数。 ROUND(45.923,2) 45.92 ROUND(45.923,0) 46 ROUND(45.923,-1) 50 TRUNC(45.923,2) 45.92 TRUNC(45.923) 45 TRUNC(45.923,-1) 40 MOD--返回两数相除的余数 MOD(1600,300)--100 日期函数: •Oracle将日期按照内部格式将日期存成以下七个字节-世纪、年
3、、月、日、时、分、秒。•在Oracle中日期缺省的显示格式为:DD-MON-YY。•可以使用系统变量 SYSDATE获取系统时间•。查看SYSDATE时,可以使用虚拟表DUAL。 举例: 求两个日期间有多少个月MONTHS_BETWEEN('01-SEP-95','11-JAN-94')1.9774194 在日期上加指定的月数ADD_MONTHS('11-JAN-94',6)'11-JUL-94' 下一个星期几是什么时候NEXT_DAY('01-SEP-95','FRIDAY')'08-SEP-95' 某月最后一天LAS
4、T_DAY('01-SEP-95')'30-SEP-95' 把日期四舍五入到月份ROUND('25-MAY-95','MONTH') 01-JUN-95 ROUND('25-MAY-95','YEAR') 01-JAN-95 把日期截断到月份 TRUNC('25-MAY-95','MONTH')01-MAY-95 TRUNC('25-MAY-95','YEAR') 01-JAN-95 转换函数 TO_CHAR将数字或日期转换为字符串 TO_NUMBER将字符串转换成数字
5、TO_DATE将字符串转换成日期 在转换函数中会使用格式串 TO_CHAR(date,'fmt') 格式串包含在''中,大小写敏感,可以是任意有效的日期 格式 格式串: YYYY表示完整的四位数字年 YEAR表示英文拼写的年 MM表示两位数字月 MONTH表示英文全拼的年 DY表示三位缩写的星期 DAY表示英文全拼的星期 一些特殊用法: 时间格式 HH24:MI:SSAM 15:45:32PM 在格式串中加入字符串 DD"of"MONTH 12ofOCTO
6、BER 用后缀拼出整个日期 ddspth fourteenth TO_CHAR(number,'fmt') 使用此函数将数字转换成数字 9 表示数字 0 强制为0 $ 设置美元符号 L 使用当前字符集的货币符号 . 小数点 , 千位分隔符 可以使用TO_NUMBER将字符串转换成数字 可以使用TO_DATE将字符串转换成格式日期 TO_DATE('10September1992','ddMonthYYYY') 使用格式串 TO_DATE(cha
7、r [,'fmt']) 普通函数 NULL值处理函数 NVL(expr1,expr2) 如果expr1为NULL,返回expr2 NVL2(expr1,expr2,expr3) 如果expr1为非空,则返回expr2,如果expr1为NULL,则返回expr3 NULLIF(expr1,expr2) 如果expr1=expr2,返回NULL,否则返回expr1 COALESCE(expr1,expr2,...,exprn) 返回表达式列表中的第一个非空表达式 条件表达式,用cas
8、e表达式或decode实现条件逻辑 CASE表达式 CASEexprWHENcomparison_expr1THENreturn_expr1 [WHENcomparison_expr2THENreturn_expr2