午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle數(shù)據(jù)庫中COALESCE函數(shù)使用詳解

瀏覽:241日期:2023-11-13 13:18:34
數(shù)據(jù)庫應(yīng)用軟件很多時(shí)候?qū)⒍嘀氐摹⑾嚓P(guān)的實(shí)體信息保存在同一個(gè)表格中。例如,購買的零件和本地生產(chǎn)的零件都是零件,經(jīng)理和工人都是員工,盡管多重的實(shí)體類型在數(shù)據(jù)存儲(chǔ)上略有不同,但是它們有太多的相同之處,因此通常使用一個(gè)表格而不是兩個(gè)。 處理這樣的表格通常意味著對(duì)每一行進(jìn)行條件測(cè)試來檢查哪個(gè)實(shí)體類型正在被處理,然后返回每種類型的不同結(jié)果集。CASE語句可以用來完成這一工作。 從Oracle 9i版開始,COALESCE函數(shù)在很多情況下就成為替代CASE語句的一條捷徑,COALESCE的格式如下: COALESCE (eXPression_1, expression_2, ...,expression_n)列表中第一個(gè)非空的表達(dá)式是函數(shù)的返回值,假如所有的表達(dá)式都是空值,最終將返回一個(gè)空值。 使用COALESCE的秘密在于大部分包含空值的表達(dá)式最終將返回空值(連接操作符“”是一個(gè)值得注重的例外)。例如,空值加任何值都是空值,空值乘任何值也都是空值,依此類推。 這樣您就可以構(gòu)建一系列表達(dá)式,每個(gè)表達(dá)式的結(jié)果是空值或非空,這就像一個(gè)CASE語句,表達(dá)式按照順序進(jìn)行測(cè)試,第一個(gè)滿足條件的值就確定了結(jié)果。 列表A展示了名為PARTS的表格的一部分,該表格存儲(chǔ)了購買的零件數(shù)據(jù)和生產(chǎn)的零件數(shù)據(jù),假如是購買的零件,那么part_type列的值為‘P’,假如是本地生產(chǎn)或組裝的則是‘B’;此外,對(duì)于購買的零件,purchase_cost 列會(huì)顯示購買成本,而本地生產(chǎn)的零件則是空值;而且,本地生產(chǎn)的零件還有material_qty和material_cost兩列的信息,對(duì)于購買的零件則是空值。 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:您可以使用一個(gè)CASE語句來測(cè)試part_type列的值并返回either purchase_cost和material_qty列與material_cost列的乘積;不過COALESCE可以用一行語句解決這個(gè)問題: COALESCE(purchase_cost, material_qty * material_cost)假如數(shù)據(jù)行中存儲(chǔ)的是一個(gè)購買的零件,那么purchase_cost就不是空值,將返回purchase_cost的值;然而,對(duì)于本地生產(chǎn)的零件,purchase_cost是空值,COALESCE會(huì)忽略它,然后將material_qty和material_cost相乘,并將乘積作為結(jié)果返回。 SELECT part_id 'Part', part_type 'Type',COALESCE(purchase_cost, material_qty * material_cost) 'Cost'FROM parts;您可以對(duì)任何數(shù)量的表達(dá)式重復(fù)使用這個(gè)模式,COALESCE是一個(gè)非常便捷的方法對(duì)統(tǒng)一表格中的多重實(shí)體求值。 最后,還要說一點(diǎn)CASE語句的優(yōu)點(diǎn),就是CASE是自動(dòng)進(jìn)行文檔記錄的,這便于理解和解讀正在發(fā)生的事情。
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 国产视频www | 久久精品8 | 爱色成人网 | 亚洲视频在线观看免费 | 国产男女裸体做爰爽爽 | 91久久国产综合久久91精品网站 | 91精品国产成人观看 | 久久久久久久久久久久久久av | 6699嫩草久久久精品影院 | 国产精品一区二区三区不卡 | 超碰偷拍 | 国产精品理论在线观看 | 亚洲永久精品在线观看 | 久久91视频 | 国产免费av网站 | 狠狠干夜夜干 | 国产精品美女www爽爽爽视频 | 欧美一区二区三区精品 | 五月天激情在线 | 一区二区三区精 | 色综合久久久久久 | 午夜爽爽爽男女免费观看 | 午夜视频一区二区 | 波多野结衣久久精品 | 高清av在线| 天天干天天舔 | 波多野结衣一区在线 | 97视频免费看 | 久久国产精品网站 | 成年人黄色片网站 | 亚洲一区二区三区视频在线 | 精品视频一区二区三区 | 国产亚洲欧美视频 | av中文字幕在线看 | 久久午夜国产 | 视屏一区 | 国产精品欧美一区二区三区 | wwwav视频| 亚洲小视频在线播放 | 在线看www | 国产在线v |