电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Oracle數據庫中COALESCE函數使用詳解

瀏覽:168日期:2023-11-13 13:18:34
數據庫應用軟件很多時候將多重的、相關的實體信息保存在同一個表格中。例如,購買的零件和本地生產的零件都是零件,經理和工人都是員工,盡管多重的實體類型在數據存儲上略有不同,但是它們有太多的相同之處,因此通常使用一個表格而不是兩個。 處理這樣的表格通常意味著對每一行進行條件測試來檢查哪個實體類型正在被處理,然后返回每種類型的不同結果集。CASE語句可以用來完成這一工作。 從Oracle 9i版開始,COALESCE函數在很多情況下就成為替代CASE語句的一條捷徑,COALESCE的格式如下: COALESCE (eXPression_1, expression_2, ...,expression_n)列表中第一個非空的表達式是函數的返回值,假如所有的表達式都是空值,最終將返回一個空值。 使用COALESCE的秘密在于大部分包含空值的表達式最終將返回空值(連接操作符“”是一個值得注重的例外)。例如,空值加任何值都是空值,空值乘任何值也都是空值,依此類推。 這樣您就可以構建一系列表達式,每個表達式的結果是空值或非空,這就像一個CASE語句,表達式按照順序進行測試,第一個滿足條件的值就確定了結果。 列表A展示了名為PARTS的表格的一部分,該表格存儲了購買的零件數據和生產的零件數據,假如是購買的零件,那么part_type列的值為‘P’,假如是本地生產或組裝的則是‘B’;此外,對于購買的零件,purchase_cost 列會顯示購買成本,而本地生產的零件則是空值;而且,本地生產的零件還有material_qty和material_cost兩列的信息,對于購買的零件則是空值。 SQL> desc partsName Null? TypePART_ID NOT NULL NUMBER(6)PART_TYPE NOT NULL CHAR(1)(other columns)PURCHASE_COST NUMBER(8,2)MATERIAL_COST NUMBER(8,2)MATERIAL_QTY NUMBER(6)LAST_UPDATED TIMESTAMP(6)UPDATED_BY VARCHAR2(30)列表A:您可以使用一個CASE語句來測試part_type列的值并返回either purchase_cost和material_qty列與material_cost列的乘積;不過COALESCE可以用一行語句解決這個問題: COALESCE(purchase_cost, material_qty * material_cost)假如數據行中存儲的是一個購買的零件,那么purchase_cost就不是空值,將返回purchase_cost的值;然而,對于本地生產的零件,purchase_cost是空值,COALESCE會忽略它,然后將material_qty和material_cost相乘,并將乘積作為結果返回。 SELECT part_id 'Part', part_type 'Type',COALESCE(purchase_cost, material_qty * material_cost) 'Cost'FROM parts;您可以對任何數量的表達式重復使用這個模式,COALESCE是一個非常便捷的方法對統一表格中的多重實體求值。 最后,還要說一點CASE語句的優點,就是CASE是自動進行文檔記錄的,這便于理解和解讀正在發生的事情。
標簽: Oracle 數據庫
主站蜘蛛池模板: 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 起好名字_取个好名字_好名网免费取好名在线打分 | 创富网-B2B网站|供求信息网|b2b平台|专业电子商务网站 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 氢氧化钾厂家直销批发-济南金昊化工有限公司 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 浙江浩盛阀门有限公司| YAGEO国巨电容|贴片电阻|电容价格|三星代理商-深圳市巨优电子有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 内窥镜-工业内窥镜厂家【上海修远仪器仪表有限公司】 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 井式炉-台车式回火炉-丹阳市电炉厂有限公司| 微型气泵-真空-蠕动-水泵-厂家-深圳市品亚科技有限公司 | 土壤肥料养分速测仪_测土配方施肥仪_土壤养分检测仪-杭州鸣辉科技有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 建筑资质代办-建筑企业资质代办机构-建筑资质代办公司 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 |