《Oracle特色函数与复杂更新应用.pptx》由会员分享,可在线阅读,更多相关《Oracle特色函数与复杂更新应用.pptx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Oracle 特色函数及复杂更新应用培训专用目标今天主要介绍一下日常操作中可能会用上Oracle 的特色函数:转换函数:to_char 通用函数:nvl、nullif、nvl2、coalesce、decode 日期函数:months_between、add_months、next_day、last_day 通过Round、Trunc 函数 操作日期 复杂的Update Table 应用培训专用显式数据类型转换NUMBERCHARACTERTO_CHARTO_NUMBERDATETO_CHARTO_DATE培训专用TO_CHAR 函数对日期的转换TO_CHAR(date,format_model
2、)格式:v 必须包含在单引号中而且大小写敏感。v 可以包含任意的有效的日期格式。v 可以使用 fm 去掉多余的空格或者前导零。v 与日期指用逗号隔开。培训专用YYYY日期格式的元素YEARMMMONTHDYDAY2004TWO THOUSAND AND FOUR02MONMONDAYJULYMONJULDD02培训专用练习v 如何用SQL语句返回以下格式(假设今天是2010-9-13)2010年9月13日 13/09/10 2010/9/13 2010年的第37周 2010年的第256天 2010年的第37周星期一培训专用TO_CHAR 函数对数字的转换下面是在TO_CHAR 函数中经常使用的
3、几种格式:TO_CHAR(number,format_model)90$L.,数字零美元符本地货币符号小数点千位符培训专用练习v怎样把一个随意的数字转换成以下格式(小于一千万):235678.9851-235,678.99 235678.9851-¥235,678.99 8-培训专用通用函数这些函数适用于任何数据类型,同时也适用于空值:vNVL(expr1,expr2)vNVL2(expr1,expr2,expr3)vNULLIF(expr1,expr2)vCOALESCE(expr1,expr2,.,expr n)培训专用NVL 函数将空值转换成一个已知的值:v 可以使用的数据类型有日期、字
4、符、数字。v 函数的一般形式:NVL(commission_pct,0)NVL(hire_date,01-JAN-97)NVL(job_id,No Job Yet)培训专用NVL2 函数判断值是否为空,如果值不为空则返回第一个表达式,否则返回第二个表达式:v 可以使用的数据类型有日期、字符、数字。v 函数的一般形式:NVL2(value,exp1,exp2)培训专用NULLIF 函数vNULLIF(exp1,exp2)vCASE WHEN exp1=exp2 THEN NULL ELSE exp1 ENDv比较两个表达式,如果它们相等则返回空值,否则返回表达式一v注意:表达式一不能为空培训专用
5、COALESCE 函数vCOALESCE(exp1,exp2,expN)vCOALESCE 返回表达式列表中第一个不 为 空的表达式vCOALESCE(expr1,expr2)vCASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 ENDvCOALESCE(expr1,expr2,.,exprn),for n=3vCASE WHEN expr1 IS NOT NULL THEN expr1 ELSE COALESCE(expr2,.,exprn)END培训专用CASE 表达式在需要使用 IF-THEN-ELSE 逻辑时:CASE expr WHEN comparison_expr1 THEN return_expr1 WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ELSE else_exprENDDECODE(expr,comparison_expr1,return_expr1,comparison_expr2,return_expr2,comparison_exprn,return_exprn,else_expr)培训专用