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

SQL CE select语句中的反向布尔值(位)

桂志新
2023-03-14
问题内容

我正在尝试编写一个从SQL CE数据库获取表信息的查询,准备将其放入c#,稍后再导出为XML。我需要使用布尔值将其中一列命名为“IDENT”(以表示它是否是身份列)。

为此,我正在检查AUTOINC_SEED列是否为空,如下所示:

select isnull(AUTOINC_SEED) as IDENT from information_schema.columns

但是,对于非身份列将返回TRUE,对于身份列将返回FALSE!有什么办法可以反转select语句中的布尔值?

编辑:我知道我可以做一个case语句来解决这个特定的问题,但是这让我对在SQL中反转布尔值(位)感到好奇。


问题答案:

SQL Server中的克拉(^)是按位异或运算符。

由于1 ^ 1等于0和1 ^ 0等于1,因此您可以执行以下操作:

SELECT (1 ^ [YourBitColumn]) as InverseBit

我也没有方便的SQL CE,但是由于SQL CE似乎具有此功能,因此我相信以下查询可以解决问题:

select (1 ^ AUTOINC_SEED) as IDENT from information_schema.columns


 类似资料:
  • 今天我得到了一个关于代码的评论,考虑到我在学校作业中检查变量是真还是假的方式。 我编写的代码如下所示: 他们说这样写更好/更整洁: 例如,0和1不应该在该变量中。

  • 是否可以编写如下JPQL查询: <代码>选择计数(*) 这将根据实体填充条件是否存在返回真/假布尔值? 我想这样使用查询: 我示例中的查询在语法上不正确(解析错误),但是是否有任何正确的方法可以像在JPQL中那样进行检查,从而返回布尔值,或者只有在Java代码中才有可能?

  • 如何在SQL Select语句上返回布尔值? 我尝试了以下代码: 并且它只返回如果存在于表中。如果表中不存在UserID,我希望它返回。

  • 把一个Boolean方法或变量攺变为相反的意义,也就是原来是true的变为false,原来是false的变为true。 操作步骤: 菜单栏: Refactor —> Invert Boolean

  • 为什么我的编译器告诉我: 不兼容类型: 必需:布尔值 找到:Int 在案例0下 例如: } 驾驶员等级:

  • 问题内容: 如下代码: 返回以下错误: 为什么会这样呢?我对布尔值非常熟悉。 问题答案: 尝试以下方法: 或使用其他名称。关键是在Java中,它是一个关键字,不能用作变量名- 在语言规范中就在这里。供将来参考,这是用于: 该声明跳过的当前迭代,或循环。未标记的形式跳到最里面的循环主体的末尾,并评估控制该循环的布尔表达式。