掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
寫SQL語句時,布爾表達(dá)式中的第三個值UNKNOWN往往被我們所忽視,但是這其實(shí)是很關(guān)鍵的,下文將帶您做一個測試,說明這個問題。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的翠屏網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
我們寫SQL語句有時,總是希望SQL表達(dá)式能夠返回TRUE或者FALSE,卻常常忽略了第三個值UNKNOWN。由于不注意判斷返回的值有時會導(dǎo)致錯誤的結(jié)果, UNKNOWN與TRUE和FALSE做AND、OR運(yùn)算返回的結(jié)果有一些差異。
來看一個小小的測試:
1
.AND操作
| AND | TRUE | FALSE | UNK |
| TRUE | |||
| FALSE | |||
| UNK |
2
.OR操作
| OR | TRUE | FALSE | UNK |
| TRUE | |||
| FALSE | |||
| UNK |
如果你已經(jīng)有了答案,不妨跟微軟工程師們給出的答案對照一下吧:
| AND | TRUE | FALSE | UNK |
| TRUE | TRUE | FALSE | UNK |
| FALSE | FALSE | FALSE | FALSE |
| UNK | UNK | FALSE | UNK |
| OR | TRUE | FALSE | UNK |
| TRUE | TRUE | TRUE | TRUE |
| FALSE | TRUE | FALSE | UNK |
| UNK | TRUE | UNK | UNK |
【編輯推薦】
自動生成INSERT語句的SQL存儲過程
SQL語句中的SELECT DISTINCT
教您用事務(wù)一次處理多條SQL語句
通過執(zhí)行多條SQL語句實(shí)現(xiàn)數(shù)據(jù)庫事務(wù)
存儲過程優(yōu)化的SQL語句寫法

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流