当前位置: 首页 > 面试题库 >

在此sql where子句中是什么意思?

太叔经赋
2023-03-14
问题内容

“&”在这里是什么意思:

select pt.TrTp, sum(pt.TrTp)
from ProdTr pt
where TransSt & 16 <> 16  // this is the row that i don麓t understand..
group by pt.TrTp

问题答案:

这称为位掩码。它用于数字中各个位具有不同含义的情况,而不是数字仅表示数字本身(例如,如果您将年龄保存到数据库中)。

当您以二进制形式想象任何数字并想测试数字中是否设置了某个位时,可以通过对数字和要测试的位使用二进制AND运算符来对其进行测试,如下所示:

if (number & 16 == 16)

用二进制表示,这意味着以下内容(假设您的数字是25):

if (00011001 & 00010000 == 00010000)

在这里您可以看到,第5位的数字(从下至上)均为1,因此结果数字在该位为1。由于没有其他1,所以当两个数字在该位置都为1时,得出的数字恰好是16。

我想补充一下:将不同的含义编码到一个数据库字段中通常是一种不好的做法。很难通过索引进行索引和检索,并且取决于您的DBMS,甚至可能完全未建立索引。



 类似资料:
  • 问题内容: 有人给我发送了一条SQL查询,其中该子句包含以下语句:。 这一定是错字吧?没有为列指定别名1.这意味着什么?我以为这一定是错字是正确的吗? 问题答案: 这意味着无论第一列如何分组。您可以使用进行相同的操作。

  • 另外,是什么意思?我一直尝试使用 但是将无法工作,除非放入。

  • 在有效Java书中,它指出: 语言规范保证,除非变量类型为或[JLS,17.4.7],否则读取或写入变量是原子的。 在Java编程或一般编程的背景下,“原子”是什么意思?

  • 问题内容: 码: 问题答案: 文件模式,写入和二进制。由于您正在编写.jpg文件,因此看起来不错。 但是,如果您应该阅读该jpg文件,则需要使用 更多信息 在Windows上,附加到模式的’b’以二进制模式打开文件,因此也有’rb’,’wb’和’r + b’之类的模式。Windows上的Python区分文本文件和二进制文件。读取或写入数据时,文本文件中的行尾字符会自动更改。对于ASCII文本文件来

  • 问题内容: 我已经看到了声明,接口和类 这是什么意思? 问题答案: 没有证据,我相信您在谈论Java的泛型支持… 泛型允许您抽象类型 在Java 5之前,很难提供能够支持多种不同类型的Objects的类而不必为每种特定情况编写代码,因此人们通常会这样做。 这导致在运行时做出许多困难的选择,您必须进行运行时检查以查看是否有可能将给定的Object强制转换为可用类型…例如 现在,这已经很明显了,但是如

  • 问题内容: 什么是在这个CSS规则是什么意思? 问题答案: 是相邻的同级组合器。 这意味着选择只选择自带 之后 的。 插图: 选择了什么,没有选择什么: 选择 这个来之后第一。 未选择 这出现在第一后而不是在。由于它不会立即跟随,因此未选中。 但是,由于它仍然紧随元素之后,选择器不会立即匹配此元素,而是将使用通用的同级组合器来匹配该元素。 未选择 这位于内,并且在引号内没有满足其选择器的内容。