當前位置:首頁 » 數據倉庫 » 資料庫操作為什麼會返回布爾值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫操作為什麼會返回布爾值

發布時間: 2023-08-08 03:24:33

1. sql 條件判斷的返回值

/*
sql 條件對比的返回值是什麼呢?
*/
IF 1=1 SELECT 'OK'
--SQL條件判斷返回布爾值,但SQL布爾值沒有常量true/false來表示,因此:
--true -> 1=1
--false -> 1=0

2. 操作符的SQL里的操作符

相等:相等操作符在SQL語句里比較一個值與另一個值,等號(=)表示相等。在進行相等比較時,被比較的值必須完全匹配,否則就不會返回數據。如果在相等比較過程中兩個值相等,那麼這個比較的返回值就是true,否則就是false。這個布爾值(true或false)用於決定是否返回數據。
不相等:在SQL里表示不相等的操作符是<>(一個小於號和一個大於號)。如果兩個值不相等,條件就返回true,否則就返回false。另一種表示不相等的方式是!=,而且很多主要的SQL實現採用這種方式。
小於:<
大於:>
比較操作符的組合:等號可以與小於號和大於號聯合使用。 用戶對SQL關鍵字而不是符號進行比較。
is null:這個操作符用於與null值進行比較。
between:操作符between用於尋找位於一個給定最大值和最小值之間的值,這個最大值和最小值是包含在內的。between是包含邊界值的,所以查詢結果里會包含指定的最大值和最小值。
in:操作符in用於把一個值與一個指定列表進行比較,當被比較的值至少與列表中一個值相匹配時,它會返回true。使用操作符in可以得到操作符or一樣的結果,但它的速度更快。
like:操作符like利用通配符把一個值與類似的值進行比較,通配符有兩個:百分號(%);下劃線(_)。百分號代表零個、一個或多個字元;下劃線( _ )代表一個數字或字元。
exists:這個操作符用於搜索指定表裡是否存在滿足特定條件的記錄。
all:操作符all用於把一個值與另一個集合里全部值進行比較。
any/some:操作符any用於把一個值與另一個列表裡任意值進行比較。some是any的別名,它們可以互換使用。 如果想在SQL語句里利用多個條件來縮小數據范圍,我們就需要組合多個條件。這正是連接操作符的功能。
and:操作符and讓我們可以在一條SQL語句的where子句里使用多個條件。在使用and時,無論SQL語句是事務操作還是查詢,所有由and連接的條件都必須為true,SQL語句才會實際執行。
or:操作符or可以在SQL語句的where子句中連接多個條件,這時無論SQL語句是事務操作還是查詢,只要or連接的條件里有至少一個是true,SQl語句就會執行。
注意:比較操作符和邏輯操作符都可以單獨或彼此復合使用。
提示:當SQL語句里包含多個條件和操作符時,利用圓括弧把語句按照邏輯關系進行劃分可以提高語句的可讀性。當然,不恰當地使用圓括弧也會影響輸出結果。 操作符not可以顛倒邏輯操作符的含義,它可以與其他操作符構成以下幾種形式:
not equal:不相等
not between:操作符between的求反
not in:操作符in的求反
not like:操作符like的求反
is not null:操作符is null的求反
not exists:操作符exists的求反
not unique:操作符distinct的求反 加法(+)
減法(-)
乘法(*)
除法(/)
算術操作符可以彼此組合使用,並且遵循基本算數運算中的優先順序:首先執行乘法和除法,然後是加法和減法。用戶控制算術運算次序的唯一方式是使用圓括弧,圓括弧里包含的表達式會被當作一個整體進行優先求值。

3. 什麼是布爾值

布爾值(Booleans)
布爾值是一個邏輯值. 只有 true 和 false (真和假).

你可以給一個變數賦值, 使用布爾操作 and, or 和 not.

例子:
$Boolean1 = true
$Boolean2 = false
$Boolean3 = $Boolean1 AND $Boolean2

結果: $Boolean3 為 false

$Boolean1 = false
$Boolean2 = not $boolean1

結果: $Boolean2 為 true

如果布爾值使用其它數的和, 將會得到下面的結果:

數值0等於布爾值 false
任何其它數值將會等於布爾值true

例子:
$Number1 = 0
$Boolean1 = true
$Boolean2 = $Number1 and $Boolean1

(如果含有失敗)這個結果將會返回false

如果您計算一個布爾值的算術. (這是不明智的!), 將會返回下面的結果:

如果布爾值為 true 將會轉換為數值 1
如果布爾值為 false 將會轉換為數值 0

例子:
$Boolean1 = true
$Number1 = 100
$Number2 = $Boolean1 + $Number1

這個結果將會返回數值 101

如果您使用字元串進行布爾值連接,將會返回下面的結果:

如果布爾值為 true 將會返回字元串 "True"
如果布爾值為 false 將會返回字元串 "False"

例子:
$Boolean1=true
$String1="Test is: "
$String2=$String1 & $Boolean1

這個結果將會返回字元串"Test is: True"

如果要從反方向來比較布爾值,結果是不同的. 當您使用字元串比較布爾值請使用下面的方法:
只有空字元串("")才能返回布爾值 false
任何其它的字元串(包括字元串等於"0")都將會返回布爾值 true

4. 什麼是布爾值

Boolean數據類型

盡管字元串和數字類型可以有無數不同的值,boolean 數據類型卻只有兩個值。它們是文字 true 和 false。Boolean值是一個真值,它表示一個狀態的有效性(說明該狀態為真或假)。

腳本中的比較通常得到一個 Boolean 結果。考慮下一行 Jscript 代碼。

y = (x == 2000);
這里要比較變數 x 的值是否與數字 2000 相等。如果相等,比較的結果為 Boolean 值 true,並將其賦給變數 y。如果x與2000不等,則比較的結果為boolean值false。

Boolean值在結構控制中尤其有用。可以將直接創建 boolean 值的比較與用使用該 boolean 值的語句相組合。考慮下面的JScript代碼範例。

if (x == 2000)
z = z + 1;
else
x = x + 1;
當 boolean 值為 true 時,Jscript 中的 if/else 語句執行一個操作(這樣,z = z + 1),而當 boolean 值為 false 時執行另一個操作(x = x + 1)。

可以使用任意表達式作比較表達式。任何值為0、null、未定義或空字元串的表達式被解釋為 false。其他任意值的表達式解釋為 true。例如,可以使用如下表達式:

if (x = y + z) // 這可能不是想要的結果 – 如下!
注意上面的代碼並不檢查 x 是否與 y+z 相等,因為僅使用了一個等號(賦值)。相反的,上面的代碼將 y+z 賦給變數 x,然後檢查整個表達式的值是否為零。要檢查 x 是否與 y+z 相等,使用如下代碼。

if (x == y + z) // 這與上面的代碼不同!