<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        mysql中IFNULL,IF,CASE的區別介紹_MySQL

        來源:懂視網 責編:小采 時間:2020-11-09 18:58:32
        文檔

        mysql中IFNULL,IF,CASE的區別介紹_MySQL

        mysql中IFNULL,IF,CASE的區別介紹_MySQL:bitsCN.com 假設有一數據表的狀態字段設計為varchar類型,有以下值:NULL,pending,pending refund,refund,cancel. 我們知道查詢狀態為cancel的訂單,SQL語句可以這樣寫:SELECT o.oid,o.moneyreceipt,o.moneyget,o.the
        推薦度:
        導讀mysql中IFNULL,IF,CASE的區別介紹_MySQL:bitsCN.com 假設有一數據表的狀態字段設計為varchar類型,有以下值:NULL,pending,pending refund,refund,cancel. 我們知道查詢狀態為cancel的訂單,SQL語句可以這樣寫:SELECT o.oid,o.moneyreceipt,o.moneyget,o.the

        bitsCN.com 假設有一數據表的狀態字段設計為varchar類型,有以下值:NULL,pending,pending refund,refund,cancel.
        我們知道查詢狀態為cancel的訂單,SQL語句可以這樣寫:SELECT o.oid,o.moneyreceipt,o.moneyget,o.thecurrency,o.status FROM qorder o WHERE o.status = 'cancel'
        SQL語句能查詢出正確的數據,但是當我們想查詢狀態為非cancel的訂單時,可能會出麻煩, 因為status字段沒 有設置NOT NULL,所以大部分訂單的status值都是NULL,這樣的話,用'<>'查詢出來的數據不正確,只有status除了cancel之外的非空數據查詢出來了,而為NULL的沒有查詢出來。SELECT o.oid,o.moneyreceipt,o.moneyget,o.thecurrency,o.status FROM qorder o WHERE o.status <>'cancel'原 因:NULL值操作
        NULL值可能令人感到奇怪直到你習慣它。概念上,NULL意味著“沒有值”或“未知值”,且它被看作與眾不同的值。為了測試NULL,你不能使用算術比較 操作符例如=、<或!=。為了說明它,試試下列查詢:mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
        +----------+-----------+----------+----------+
        | 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
        +----------+-----------+----------+----------+
        | NULL | NULL | NULL | NULL |
        +----------+-----------+----------+----------+
        很 顯然你不能通過這些比較得到有意義的結果。相反使用IS NULL和IS NOT NULL操作符:mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
        +-----------+---------------+
        | 1 IS NULL | 1 IS NOT NULL |
        +-----------+---------------+
        | 0 | 1 |
        +-----------+---------------+
        請注意在MySQL中,0或 NULL意味著假,而其它值意味著真。布爾運算的默認真值是1。根據以上的NULL值操作結果,最終使用此種方式解決:SELECT o.oid,o.moneyreceipt,o.moneyget,o.thecurrency,o.status FROM qorder o WHERE IFNULL(o.status,'pending') <>'cancel'學習:IFNULL(expr1,expr2)
        如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。IFNULL()返回一個數字或字符串值,取決于它被使 用的上下文環境。

        mysql> select IFNULL(1,0); ->1
        mysql> select IFNULL(0,10); ->0
        mysql> select IFNULL(1/0,10); ->10.0000
        mysql> select IFNULL(1/0,'yes'); ->'yes'IF(expr1,expr2,expr3)如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回 expr2,否則它返回expr3。IF()返回一個數字或字符串值,取決于它被使用的上下文。
        mysql> select IF(1>2,2,3); -> 3
        mysql> select IF(1<2,'yes','no'); -> 'yes'

        (1) CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END //這個我還沒想到咋用,知道的可以留言交流,
        (2) CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END //這個面試時被人問到了,可以用作條件判斷
        第(1)個返回 result,其中value=compare-value。第(2)個中如果第一個條件為真,返回result。如果沒有匹配的result值,那么結 果在ELSE后的result被返回。如果沒有ELSE部分,那么NULL被返回。

        mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END; -> "one"
        mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END; -> "true"
        mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END; -> NULL

        上面的例子本人在mysql5.2.6上測試通過=====================================================================================PS:以上是轉載的內容,覺得很不錯就轉過來了,其中的CASE...WHEN...THEN、IF、IFNULL都是常用到的函數eg:SELECT id,username,CASE gender WHEN 1 THEN "男" WHEN 2 THEN "女" END FROM t_people; SELECT b.id,b.book_name,CASE b.type WHEN 1 THEN "計算機" WHEN 2 THEN "會計" ELSE "其它" END FROM book b;bitsCN.com

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        mysql中IFNULL,IF,CASE的區別介紹_MySQL

        mysql中IFNULL,IF,CASE的區別介紹_MySQL:bitsCN.com 假設有一數據表的狀態字段設計為varchar類型,有以下值:NULL,pending,pending refund,refund,cancel. 我們知道查詢狀態為cancel的訂單,SQL語句可以這樣寫:SELECT o.oid,o.moneyreceipt,o.moneyget,o.the
        推薦度:
        標簽: mysql null if
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲日韩国产精品第一页一区| 亚洲精品午夜在线观看| 亚洲另类无码专区首页| 性xxxxx免费视频播放| 亚洲性色成人av天堂| 国产成人亚洲精品无码AV大片| 手机在线免费视频| 2020天堂在线亚洲精品专区| 中文字幕不卡免费视频| 亚洲性猛交XXXX| 日韩插啊免费视频在线观看| 亚洲神级电影国语版| 最近中文字幕无吗免费高清 | 亚洲精品伊人久久久久| 亚洲成在人线aⅴ免费毛片| 国产成人亚洲精品| 国产精品二区三区免费播放心| 日韩亚洲翔田千里在线| 国产日产亚洲系列最新| 你懂的网址免费国产| 日韩一区二区在线免费观看 | 国产免费人成视频在线播放播| 国产亚洲自拍一区| 免费无码毛片一区二区APP| 亚洲卡一卡2卡三卡4麻豆| 永久免费bbbbbb视频| 一级做a免费视频观看网站| 亚洲成AV人片在| 免费一区二区无码东京热| 亚洲麻豆精品国偷自产在线91| 国产 亚洲 中文在线 字幕| 又大又黄又粗又爽的免费视频 | 亚洲国产精品lv| 日韩毛片免费无码无毒视频观看| 亚洲а∨精品天堂在线| 中文字幕无码精品亚洲资源网| 亚洲黄色免费电影| 国产亚洲美女精品久久| 亚洲国产精品自在在线观看| 国产乱子影视频上线免费观看| 免费在线看污视频|