前言

  敲机房的路上遇到了一个问题,就是在组合查询中的逻辑关系是按照一个什么样的顺序来运行的?难道是按照自己敲得那个顺序吗?比如说三行一起查的时候,难道是按照第一行,第二行,第三行这样的顺序吗?然后看我的解决程序

VB中的逻辑关系

先来说一下这些逻辑关系中的顺序,逻辑运算符也像数学中的加减乘除一样,总是要有一个先后顺序的

  Not
  And
  Or
  Xor
  Eqv
  Imp

举个栗子:

这个查询语句就是先进行“与”关系,再进行“或”关系,所以才会有这样的查询结果
VB中逻辑关系小结

NOT


逻辑非,用符号表示为“!”
not在逻辑运算符中的优先级是最高的,所以看下面的栗子

Dim b as Boolean = False And Not True

先进行not true返回false,然后原语句就相当于false and false,所以最终的结果b是false

AND


逻辑与,释义是相当于生活中说的“并且”。&& 称为逻辑与,只有两个操作数都是true,结果才是true。 && 称为简洁与或者短路与,也是只有两个操作数都是true,结果才是true。

OR


逻辑或,用符号表示为“||”
如果有任一个运算符为true,则运算为true,否则为false

Xor


异或,英文为exclusive OR,或缩写成xor 符号表示为:⊕
口诀:相同取0,相异取1
事实上,XOR 在英文里面的定义为either one (is one), but not both, 也即只有一个为真(1)时,取真(1)。


true xor true = false
true xor false =true
false xor true =true
false xor false =false

Eqv


eqv意思为等效采用, eqv 和 xor是相反的
eqv中


true eqv true = true
true eqv false =false
false eqv true =false
false eqv false =true


即如果两个变量的逻辑值相同,为true,不同则为false

Imp


蕴含 Imp
   result=expression1 Imp expression2
 


True True True
True False False
False True True
False False True


 只有当第一个表达式expression1为True,第二个表达式expreesion2为False时,结果才为False,其他情况下结果均为True。
 如果……,那么……”(if…then…),用符号→表示。设p,q表示两命题
 如果用p表示“我有车”,q表示“我去接你”,那么p→q表示命题“如果我有车,那么我去接你”。当我有车时,若我去接了你,这时诺言p→q真;若我没去接你,则诺言p→q假。当我没有车时,我无论去或不去接你均未食言,此时认定p→q为真是适当的。

小记


  当我明白了这些之后再拿自己的组合查询的内容去实践的时候,就觉得逻辑感很强,不然其中的有些内容还是不容易理解的,这样明白了之后还是懂了很多,也明白了其中的内涵,让自己更加明白,看来以后钻牛角尖还是挺重要的,不将就是发现的源动力,加油!

相关文章:

  • 2018-11-25
  • 2022-12-23
  • 2022-12-23
  • 2021-04-25
  • 2021-07-12
  • 2021-08-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-16
  • 2022-12-23
  • 2021-10-09
  • 2022-01-08
相关资源
相似解决方案