<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kooyee ‘s blog

    開源軟件, 眾人努力的結(jié)晶, 全人類的共同財富
    posts - 103, comments - 55, trackbacks - 0, articles - 66
       :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    [數(shù)據(jù)類型]NULL

    Posted on 2007-07-16 22:32 kooyee 閱讀(485) 評論(0)  編輯  收藏 所屬分類: Database數(shù)據(jù)庫技術(shù)

    在Database中"  "沒有值(空白)并不是等于NULL.
    空格也是一個值, 而不是NULL

    如果說給一個column賦值為空(不是空格,也不含空格), <null>

    set column = ''    //(單引號中間沒空格)

    而不是

    set column = NULL



    數(shù)據(jù)庫中, 當一個字段沒有任何資料時, 便是NULL  

    當你在處理由數(shù)據(jù)庫中所取出的 NULL 的資料時, 你必須要很注意, 因為NULL 所代表的是不合法的資料, 當某些函數(shù)在處理數(shù)學運算時,NULL 可能會制造一些麻煩, 你應先用 IsNull() 來判斷字段是否為NULL, 再做適當?shù)奶幚?


    SELECT *
    FROM test
    WHERE test1 IS NULL;

    NOTE: Null In Oracle is an absence of information. A null can be assigned but it can not be equated with anything: Even itself.

    While this behavior is ANSI compliant it is not similar to the behavior in many other commercial RDBMS products.
    A simple SELECT statement to use for demonstrating the properties of NULL SELECT COUNT(*)
    FROM all_tables
    WHERE 1 = 1;
    A NULL is not equal to a NULL SELECT COUNT(*)
    FROM all_tables
    WHERE NULL = NULL;
    A NULL cannot be not equal to a NULL SELECT COUNT(*)
    FROM all_tables
    WHERE NULL <> NULL;
    A NULL is does not equal an empty string SELECT COUNT(*)
    FROM all_tables
    WHERE NULL = '';
    A NULL can  be used in an INSERT CREATE TABLE test (
    test1   NUMBER(10),
    test2   VARCHAR2(20));

    INSERT INTO test
    (test1, test2)
    VALUES
    (1, NULL);

    INSERT INTO test
    (test1, test2)
    VALUES
    (NULL, 'A');

    SELECT *
    FROM test;
     
    NOTE: Null is a state of being that can be interrogated as to whether it does or does not exist.
    A simple SELECT based on a column with a NULL SELECT *
    FROM test
    WHERE test1 IS NULL;

    SELECT *
    FROM test
    WHERE test1 IS NOT NULL
    A NULL can be used in an UPDATE UPDATE test
    SET test1 = '2'
    WHERE test2 IS NULL;

    SELECT *
    FROM test;

    UPDATE test
    SET test2 = 'B'
    WHERE test2 IS NOT NULL;

    SELECT *
    FROM test;
    A column can be updated to not contain a value UPDATE test
    SET test1 = NULL
    WHERE ROWNUM = 1;

    SELECT *
    FROM test;
    NULL can be used as part of the WHERE clause criteria in a DELETE Statement DELETE FROM test
    WHERE test1 IS NULL;

    SELECT *
    FROM test;

    Understand the implications of NULL
    CREATE TABLE t (
    col1 NUMBER(3),
    col2 NUMBER(3),
    col3 NUMBER(3));

    desc t

    INSERT INTO t
    (col1, col2, col3)
    VALUES
    (1, NULL, NULL);

    INSERT INTO t
    (col1, col2, col3)
    VALUES
    (NULL, 2, NULL);

    INSERT INTO t
    (col1, col2, col3)
    VALUES
    (NULL, NULL, 3);

    INSERT INTO t
    (col1, col2, col3)
    VALUES
    (4, 4, 4);

    COMMIT;

    SELECT *
    FROM t;

    SELECT SUM(RESULT_TMP) RESULT
    FROM (
      SELECT col1 - (col2 + col3) RESULT_TMP 
      FROM t);

    SELECT SUM(col1) - (SUM(col2) + SUM(col3)) RESULT
    FROM t;

    Note: For any row that has one of the values null, the entire row sums to null and is not included in the second query but the other columns in the row contribute to the sums in the query. So the first query includes more terms than the second.
    http://www.psoug.org/reference/null.html
    主站蜘蛛池模板: 亚洲邪恶天堂影院在线观看| 亚洲人成伊人成综合网久久久 | 国产精品永久免费视频| CAOPORM国产精品视频免费| 永久免费av无码入口国语片| 222www免费视频| 免费无码一区二区三区蜜桃大 | 国产精品国产午夜免费福利看| 国产乱辈通伦影片在线播放亚洲 | 久久av无码专区亚洲av桃花岛| 自拍日韩亚洲一区在线| 黄网站色成年片大免费高清| 国产日韩一区二区三免费高清| 在线观看H网址免费入口| 国产精品免费看久久久无码| 久久精品九九亚洲精品天堂| 亚洲一卡2卡4卡5卡6卡在线99 | 亚洲中文字幕无码爆乳AV| 亚洲狠狠ady亚洲精品大秀| 久久精品国产亚洲AV未满十八 | 国产美女视频免费观看的网站| 中文字幕免费视频一| 曰皮全部过程视频免费国产30分钟| 国产亚洲精品无码专区| 亚洲日本在线免费观看| 免费毛片毛片网址| 亚洲精品视频免费看| 精品亚洲视频在线观看 | 中文字幕在线观看免费| 国产va免费精品观看精品| 亚洲中文无韩国r级电影| 亚洲中字慕日产2020| aa级女人大片喷水视频免费| 日韩精品无码区免费专区| 亚洲精品成人无码中文毛片不卡| 久久久久久亚洲精品影院| a级午夜毛片免费一区二区| 日日AV拍夜夜添久久免费| 久久亚洲精品成人无码网站| 九九久久精品国产免费看小说 | 久久永久免费人妻精品|