• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Transact—SQL中的對(duì)空值的處理函數(shù)COALESCE

    2016-12-26 16:44:11桂云秋張磊周揚(yáng)朱臣
    科教導(dǎo)刊·電子版 2016年30期
    關(guān)鍵詞:應(yīng)用

    桂云秋+張磊+周揚(yáng)+朱臣

    摘 要 在數(shù)據(jù)庫查詢中,經(jīng)常會(huì)遇到對(duì)空值的處理,如何處理不當(dāng)可能會(huì)帶來意想不到的結(jié)果。COALESCE函數(shù)能返回其參數(shù)中第一個(gè)非空表達(dá)式,在處理空值時(shí)常有非常好的效果。

    關(guān)鍵詞 Transact-SQL COALESCE函數(shù) 應(yīng)用

    在數(shù)據(jù)庫查詢中,經(jīng)常會(huì)遇到對(duì)空值的處理,如何處理不當(dāng)可能會(huì)帶來意想不到的結(jié)果。COALESCE函數(shù)能返回其參數(shù)中第一個(gè)非空表達(dá)式,在處理空值時(shí)常有非常好的效果。

    1語法及說明

    COALESCE ( expression [ ,...n ] )

    其中,expression 任何類型的表達(dá)式。返回?cái)?shù)據(jù)類型優(yōu)先級(jí)最高的 expression 的數(shù)據(jù)類型。如果所有參數(shù)均為 NULL,則 COALESCE 返回 NULL。但是,至少應(yīng)有一個(gè)空值為 NULL 類型。

    2應(yīng)用實(shí)例

    在以下示例中,wages 表中包括以下三列有關(guān)雇員的年薪的信息:hourly wage、salary 和 commission。但是,每個(gè)雇員只能接受一種付款方式。若要確定支付給所有雇員的金額總數(shù),請(qǐng)使用 COALESCE 函數(shù),它只接受在 hourly_wage、salary 和 commission 中找到的非空值。

    SET NOCOUNT ON;

    USE master;

    IF EXISTS (SELECT name FROM sys.tables

    WHERE name = wages)

    DROP TABLE wages;

    CREATE TABLE wages

    emp_id tinyint identity,

    hourly_wage decimal NULL,

    salary decimal NULL,

    commission decimal NULL,

    num_sales tinyint NULL

    );

    INSERT wages VALUES(10.00, NULL, NULL, NULL);

    INSERT wages VALUES(20.00, NULL, NULL, NULL);

    INSERT wages VALUES(30.00, NULL, NULL, NULL);

    INSERT wages VALUES(40.00, NULL, NULL, NULL);

    INSERT wages VALUES(NULL, 10000.00, NULL, NULL);

    INSERT wages VALUES(NULL, 20000.00, NULL, NULL);

    INSERT wages VALUES(NULL, 30000.00, NULL, NULL);

    INSERT wages VALUES(NULL, 40000.00, NULL, NULL);

    INSERT wages VALUES(NULL, NULL, 15000, 3);

    INSERT wages VALUES(NULL, NULL, 25000, 2);

    INSERT wages VALUES(NULL, NULL, 20000, 6);

    INSERT wages VALUES(NULL, NULL, 14000, 4);

    SET NOCOUNT OFF;

    SELECT CAST(COALESCE(hourly_wage * 40 * 52,

    salary,

    commission * num_sales) AS money) AS Total Salary

    FROM wages;

    COALESCE(expression1,...n) 與此 CASE 函數(shù)等效:

    CASE

    WHEN (expression1 IS NOT NULL) THEN expression1

    ...

    WHEN (expressionN IS NOT NULL) THEN expressionN

    ELSE NULL

    END

    3應(yīng)用說明

    盡管 ISNULL 等效于 COALESCE,但它們的行為是不同的。包含具有非空參數(shù)的 ISNULL 的表達(dá)式將視為 NOT NULL,而包含具有非空參數(shù)的 COALESCE 的表達(dá)式將視為 NULL。在 SQL Server 中,若要對(duì)包含具有非空參數(shù)的 COALESCE 的表達(dá)式創(chuàng)建索引,可以使用 PERSISTED 列屬性將計(jì)算列持久化,如以下語句所示:

    CREATE TABLE #CheckSumTest

    ID int identity ,

    Num int DEFAULT ( RAND() * 100 ) ,

    RowCheckSum AS COALESCE( CHECKSUM( id , num ) , 0 ) PERSISTED PRIMARY KEY

    參考文獻(xiàn)

    [1] 杜佰林.網(wǎng)絡(luò)數(shù)據(jù)庫SQL Server 2000[M].清華出版社,2009,9.

    [2] 何薇,舒后.網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)與應(yīng)用[M].清華大學(xué)出版社,2014,10.

    猜你喜歡
    應(yīng)用
    多媒體技術(shù)在小學(xué)語文教學(xué)中的應(yīng)用研究
    考試周刊(2016年76期)2016-10-09 08:45:44
    分析膜技術(shù)及其在電廠水處理中的應(yīng)用
    科技視界(2016年20期)2016-09-29 14:22:00
    GM(1,1)白化微分優(yōu)化方程預(yù)測(cè)模型建模過程應(yīng)用分析
    科技視界(2016年20期)2016-09-29 12:03:12
    煤礦井下坑道鉆機(jī)人機(jī)工程學(xué)應(yīng)用分析
    科技視界(2016年20期)2016-09-29 11:47:01
    氣體分離提純應(yīng)用變壓吸附技術(shù)的分析
    科技視界(2016年20期)2016-09-29 11:02:20
    會(huì)計(jì)與統(tǒng)計(jì)的比較研究
    新昌县| 莱西市| 沁水县| 涪陵区| 确山县| 会理县| 惠东县| 通城县| 大厂| 贵南县| 洛南县| 柏乡县| 巴林右旗| 萨迦县| 出国| 区。| 太和县| 启东市| 滦南县| 周口市| 青神县| 阜宁县| 阜新市| 万年县| 潮安县| 台湾省| 壶关县| 江门市| 沿河| 滦南县| 永年县| 湖南省| 名山县| 和静县| 当涂县| 奈曼旗| 梨树县| 临江市| 筠连县| 河池市| 公安县|