我知道SQL Server沒有布爾數據類型,最好的選擇是使用BIT數據類型。SQL Server布爾運算符
我的問題是什麼布爾表達式評估。例如,如果我有聲明
expr1 AND expr2
,如果expr1的是真實的,表達式2是假的,他們做內部評估與值1和0的位?然後AND運算符檢查BIT?
我覺得這是不是這樣的,因爲那麼下面應該工作:
select 1 where 1 and 0
因此,沒有SQL服務器內部有一個布爾數據類型?
以下工作
select 1 where 1 = 0
select 1 where 1 = 0 and 0 = 0
但這
select 1 where 1 and 0
報告
消息4145,15級,狀態1,行 在指定的非布爾類型的表達式在'和'附近預期條件的上下文。
這意味着內部sql服務器將表達式視爲布爾值,但爲什麼不能訪問該數據類型。
@米奇小麥,我不明白 – alfoks
我沒有使用按位。你不明白我的問題。 – alfoks
既然你不能*存儲*表達式評估的結果,也不能提供一個值來代替正在評估的值,那有什麼意義呢? –