当前位置:首页 » 数据仓库 » 数据库操作为什么会返回布尔值
扩展阅读
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) // 这与上面的代码不同!