可以
方法一
sqlserver
select a/b,a+b,ab
数字类型的计算,可以直接这样写的
方法二
select aa/bb,aa+bb
from a left join b on ac=bc
Transact-SQL介绍
Transact-SQL语言是用在微软的SQL Server 的关系型数据库管理系统中编程语言。
主要有六大类:
算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符和字符串联运算符。
算术运算符包括(+)、减(-)、乘()、除(/)和取模(%)
赋值运算符"="
位运算符 " & ^ |"
比较运算符 =、>、<、>=、<=、<>、!=、!>、!<
逻辑运算符 AND、OR、NOT
字符串联运算符 +
逻辑运算符"Xor"用来对两个表达式进行 "逻辑互斥或" 运算。
当两个表达式都不是NULL(空值)时,如果这两个表达式的返回值(指布尔值,下同)不一样,则“Xor”运算结果为True(真)。反之如果两个表达式的返回值一致,则该运算结果为False(假);
而如果两个表达式的一方或双方是NULL,则“Xor”运算结果直接为NULL。
下面列表有助于理解 "逻辑互斥或" 运算
运算式 相当于 运算结果
IsNumeric("100") Xor IsNumeric("ABC") True Xor False True
IsNumeric("ABC") Xor IsNumeric("100") False Xor True True
IsNumeric("100") Xor IsNumeric("200") True Xor True False
IsNumeric("ABC") Xor IsNumeric("EFG") False Xor False False
Null Xor IsNumeric("ABC") Null Xor False Null
IsNumeric("100") Xor Null True Xor Null Null
Null Xor Null Null Xor Null Null
另外,”Xor “运算符既可作为逻辑运算符,也可作为位运算符。使用互斥或的逻辑进行的两个表达式的逐位比较。
下面是ACCESS联机帮助中有关”Xor“ 运算符的说明截图
D正确答案。
因为逻辑 *** 作符的两边最终都被转换成bool值 *** 作,所以bool值只有非零(由1表示)和零,所以只要不为零,就会被转换成1,因此任何类型的任何值都可以参与 *** 作。
逻辑运算符:在形式逻辑中,逻辑运算符或逻辑连接词将语句连接成更复杂的语句。由两个命题组成的新的命题或命题称为复合命题或复合命题。
基本运算符
基本的 *** 作符有:“非”(¬)、“与”(∧)、“或”(∨)、“条件”(→)以及“双条件”(↔)。“非”是一个一元 *** 作符,它只 *** 作一项(¬;P)。剩下的是二元 *** 作符, *** 作两项来组成复杂语句(P ∧ Q, P ∨ Q, P → Q, P ↔ Q)。
注意,符号“与”(∧)和交集(∩),“或”(∨)和并集(∪)的相似性。这不是巧合:交集的定义使用“与”,并集的定义是用“或”。
百度百科-逻辑运算符
从以上程序的输出信息可以得出结论,短路不会浪费时间在无意义的计算上。
形式为exp1
&&
exp2,如果&&运算符左边的运算表达式exp1为false,那么其右边的运算表达式exp2不进行计算,因为&&运算符已经知道完整的表达式不可能是true,所以直接返回false
形式为exp1
||
exp2,如果||运算符左边的运算表达式exp1为true,那么其右边的运算表达式exp2不进行计算,因为||运算符已经知道完整的表达式不可能是false,所以直接返回true
下面来讨论oracle的逻辑运算符是否短路,本人的测试数据库是oracle
database
10g
enterprise
edition
release
102010
首先创建一个测试function
create
or
replace
function
f
return
number
isbegindbms_outputput_line('f');return(1);end
f;
这个function的作用是用来验证是否被执行,如果执行会打印出字符串“f”
(1)验证sql语句的逻辑运算符是否短路
select
'x'
from
dual
where
(1
=
0
and
f
=
1);--打印出f
select
'x'
from
dual
where
(1
=
1
or
f
=
1);--没有打印信息
说明sql语句中的逻辑运算符and不具备短路功能,而or具备短路功能。
(2)验证plsql语句的逻辑运算符是否短路beginif
1
=
0
and
f=1
thennull;end
if;end;--没有打印信息beginif
1
=
1
or
f=1
thennull;end
if;end;--没有打印信息
可以
方法一
1
sqlserver
2
select
a/b,a+b,ab
数字类型的计算,可以直接这样写的
3
方法二
1
select
aa/bb,aa+bb
2
from
a
left
join
b
on
ac=bc
3
transact-sql介绍
transact-sql语言是用在微软的sql
server
的关系型数据库管理系统中编程语言。
4
主要有六大类:
算术运算符、赋值运算符、位运算符、比较运算符、逻辑运算符和字符串联运算符。
1
算术运算符包括(+)、减(-)、乘()、除(/)和取模(%)
2
赋值运算符"="
3
位运算符
"
&
^
|"
4
比较运算符
=、>、<、>=、<=、<>、!=、!>、!<
5
逻辑运算符
and、or、not
6
字符串联运算符
+
逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的
真值和假值,只是认为非0为真值,0为假值。
符号 功能:
&& 逻辑与
|| 逻辑或
! 逻辑非
例如:
5!3;
0||-2&&5;
!4;
当表达式进行&&运算时,只要有一个为假,总的表达式就为假。
只有当所有都为真时,总的式才为真。
当表达式进行||运算时,只要有一个为真,总的值就为真。
只有当所有的都为假时,总的式子才为假。
逻辑非(!)运算是把相应的变量数据转换为相应的真/假值。
若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。
还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。
例如:
a=2,b=1;
a||b-1;
因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后
面的表达式就不会再计算了。
“+”和“-”不是逻辑运算符吧= =
以上就是关于sql语句能做乘除法逻辑运算吗全部的内容,包括:sql语句能做乘除法逻辑运算吗、access中的逻辑运算符xor 晴简要讲讲是什么意思吧、逻辑运算符两侧运算对象的数据类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)