Oracle 特色函数及复杂更新应用.pptx
《Oracle 特色函数及复杂更新应用.pptx》由会员分享,可在线阅读,更多相关《Oracle 特色函数及复杂更新应用.pptx(47页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Oracle Oracle Oracle 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_
2、DATETO_CHAR 函数对日期的转换函数对日期的转换TO_CHAR(date,format_model)格式:v必须包含在单引号中而且大小写敏感。v可以包含任意的有效的日期格式。v可以使用 fm 去掉多余的空格或者前导零。v与日期指用逗号隔开。YYYY日期格式的元素日期格式的元素YEARMMMONTHDYDAY2004TWO THOUSAND AND FOUR02MONMONDAYJULYMONJULDD02练习v 如何用SQL语句返回以下格式(假设今天是2010-9-13)2010年9月13日13/09/102010/9/132010年的第37周2010年的第256天2010年的第37周
3、星期一TO_CHAR 函数对数字的转换函数对数字的转换下面是在TO_CHAR 函数中经常使用的几种格式:TO_CHAR(number,format_model)90$L.,数字数字零零美元符美元符本地货币符号本地货币符号小数点小数点千位符千位符练习练习v怎样把一个随意的数字转换成以下格式(小于一千万):235678.9851-235,678.99235678.9851-¥235,678.998-通用函数通用函数这些函数适用于任何数据类型,同时也适用于空值:vNVL(expr1,expr2)vNVL2(expr1,expr2,expr3)vNULLIF(expr1,expr2)vCOALESCE
4、(expr1,expr2,.,exprn)NVL 函数函数将空值转换成一个已知的值:v可以使用的数据类型有日期、字符、数字。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 NULLIF 函数函数vNULLIF(exp1,exp2)vCASE WHEN exp1=exp2 THEN NULL E
5、LSE exp1 ENDv比较两个表达式,如果它们相等则返回空值,否则返回表达式一v注意:表达式一不能为空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)
6、ENDCASE 表达式表达式在需要使用 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)日期函数
7、日期函数两日期相差多少月两日期相差多少月MONTHS_BETWEENADD_MONTHSNEXT_DAYLAST_DAYROUNDTRUNC 加月份以日期加月份以日期指定日期的下一天指定日期的下一天一个月中的最后一天一个月中的最后一天Round 日期日期Truncate 日期日期函数函数描述描述练习练习-日期运算日期运算v得到2010-5-10至2010-9-13经过了多少天v得到2010-5-10至2010-9-13经过了多少个月v得到某个日期两个月后的日期v得到某个日期这天后100天的日期v得到某个日期两个月后的那个月的最后一天高级更新操作高级更新操作v提出疑问如何实现以下SQL Serv
8、er中的Update操作举例高级更新操作高级更新操作v提出疑问有以下表结构,如何通过一个语句达到以下功能:把A表的数据同步到B表,以ID字段为主键,如果B表中没有A表的记录,请插入合并语句合并语句v按照指定的条件执行插入或删除操作v如果满足条件的行存在,执行更新操作;否则执行插入操作:避免多次重复执行插入和删除操作提高效率而且使用方便在数据仓库应用中经常使用合并语句的语法合并语句的语法可以使用merge语句,根据指定的条件进行插入或更新操作MERGE INTO table_name table_alias USING(table|view|sub_query)alias ON(join con
9、dition)WHEN MATCHED THEN UPDATE SET col1=col_val1,col2=col2_val WHEN NOT MATCHED THEN INSERT(column_list)VALUES(column_values);MERGE INTO copy_emp c USING employees e ON(c.employee_id=e.employee_id)WHEN MATCHED THEN UPDATE SET c.first_name =e.first_name,c.last_name =e.last_name,.c.department_id =e.d
10、epartment_idWHEN NOT MATCHED THEN INSERT VALUES(e.employee_id,e.first_name,e.last_name,e.email,e.phone_number,e.hire_date,e.job_id,e.salary,mission_pct,e.manager_id,e.department_id);合并语句举例合并语句举例在对表COPY_EMP使用merge语句,根据指定的条件从表 EMPLOYEES中插入或更新数据。合并语句举例合并语句举例MERGE INTO copy_emp c USING employees e ON(c.
11、employee_id=e.employee_id)WHEN MATCHED THEN UPDATE SET .WHEN NOT MATCHED THEN INSERT VALUES.;SELECT*FROM COPY_EMP;no rows selectedSELECT*FROM COPY_EMP;20 rows selected.演讲完毕,谢谢观看!Oracle ERPOracle ERP主要模主要模块块 InvoicesARENGBOMWIPBills andRoutingsShipmentsECOSWorkOrdersGLAPPlanning(MRP)POMaterialRequire
12、mentsEnterpriseDemandVendor POInterplant POReceiptsWorkOrders CustomersJournal EntriesJournal EntriesJournal EntriesVendor InvoicesVendor PaymentsTransportationInformationBillsItemsOEINVINVInternalPaymentsCorporateJournal EntriesShipments OrdersFAMass AdditionJournal EntriesCOSTCOSTCOSTReceipts财务配销H
13、RPayroll制造人力资源财务系统模块财务系统模块财务系统模块财务系统模块:Oracle Oracle 总帐管理(总帐管理(总帐管理(总帐管理(GLGL)Oracle Oracle 应付帐管理(应付帐管理(应付帐管理(应付帐管理(APAP)Oracle Oracle 固定资产管理(固定资产管理(固定资产管理(固定资产管理(FAFA)Oracle Oracle 应收帐管理(应收帐管理(应收帐管理(应收帐管理(ARAR)Oracle Oracle 现金管理(现金管理(现金管理(现金管理(CECE)Oracle Oracle 项目会计(项目会计(项目会计(项目会计(PAPA)Oracle Orac
14、le 财务分析(财务分析(财务分析(财务分析(OFAOFA)分销系统模块分销系统模块分销系统模块分销系统模块:Oracle Oracle 库存管理(库存管理(库存管理(库存管理(INVINV)Oracle Oracle 采购管理(采购管理(采购管理(采购管理(PURPUR)Oracle Oracle 销售定单管理(销售定单管理(销售定单管理(销售定单管理(OEOE)Oracle Oracle 销售销售销售销售&市场管理(市场管理(市场管理(市场管理(SMSM)Oracle Oracle 销售补偿管理(销售补偿管理(销售补偿管理(销售补偿管理(SCSC)Oracle Oracle 售后服务管理(
15、售后服务管理(售后服务管理(售后服务管理(SRSR)Oracle Oracle 销售分析(销售分析(销售分析(销售分析(OSAOSA)Oracle ERP Oracle ERP 模块清单模块清单制造系统模块制造系统模块制造系统模块制造系统模块:Oracle Oracle 计划管理(计划管理(计划管理(计划管理(MPS/MRPMPS/MRP)Oracle Oracle 能力计划管理(能力计划管理(能力计划管理(能力计划管理(CAPCAP)Oracle Oracle 制造数据管理(制造数据管理(制造数据管理(制造数据管理(BOMBOM)Oracle Oracle 车间生产管理(车间生产管理(车间生
16、产管理(车间生产管理(WIPWIP)Oracle Oracle 成本管理(成本管理(成本管理(成本管理(CSTCST)Oracle Oracle 项目制造(项目制造(项目制造(项目制造(PJM)PJM)Oracle Oracle 流程制造流程制造流程制造流程制造 (OPM)(OPM)Oracle Oracle 质量管理(质量管理(质量管理(质量管理(QM)QM)其他系统模块其他系统模块其他系统模块其他系统模块:Oracle Oracle 设备管理(设备管理(设备管理(设备管理(EMEM)Oracle Oracle 人事管理(人事管理(人事管理(人事管理(HRHR)Oracle Oracle 薪
17、金管理(薪金管理(薪金管理(薪金管理(PAYROLLPAYROLL)Oracle Oracle 系统管理(系统管理(系统管理(系统管理(SYSTEM ADMINSYSTEM ADMIN)Oracle Oracle 预警(预警(预警(预警(ALTALT)Oracle Oracle 多维数据分析多维数据分析多维数据分析多维数据分析/商业智能系统商业智能系统商业智能系统商业智能系统 (OLAP/BISOLAP/BIS)OOracle racle 桌面集成(桌面集成(桌面集成(桌面集成(ADIADI)OOracle ERP racle ERP 模块清单模块清单Oracle ApplicationsOr
18、acle Applications2828Oracle Oracle 行业模型行业模型行业模型行业模型:离散制造离散制造离散制造离散制造供应链供应链供应链供应链企业后台管理企业后台管理企业后台管理企业后台管理客户关系管理客户关系管理客户关系管理客户关系管理计划计划计划计划 寻源寻源寻源寻源 制造制造制造制造 市场市场市场市场 销售销售销售销售 支持支持支持支持企业管理企业管理企业管理企业管理返回返回返回返回项目到盈利项目到盈利项目到盈利项目到盈利财务管理到财财务管理到财财务管理到财财务管理到财务报告务报告务报告务报告概念到发布概念到发布概念到发布概念到发布联系到解决联系到解决联系到解决联系到解
19、决合同到续签合同到续签合同到续签合同到续签预测到计划预测到计划预测到计划预测到计划采购到付款采购到付款采购到付款采购到付款需求到制造需求到制造需求到制造需求到制造 (离散离散离散离散)订单到收款订单到收款订单到收款订单到收款库存到履约库存到履约库存到履约库存到履约问题到预防问题到预防问题到预防问题到预防机会到订单机会到订单机会到订单机会到订单Oracle Oracle 主要业务流程主要业务流程Design to ReleaseForecast to PlanPlan to ScheduleSchedule to buildProcure to PayOrder to CashInventory
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 特色函数及复杂更新应用 特色 函数 复杂 更新 应用
限制150内