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

T-SQL中的布尔值“ NOT”不适用于“位”数据类型吗?

公羊奇
2023-03-14
问题内容

尝试执行单个布尔NOT操作,看来在MS SQL Server 2005下,以下块不起作用

DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = NOT @MyBoolean;
SELECT @MyBoolean;

相反,我在以下方面越来越成功

DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = 1 - @MyBoolean;
SELECT @MyBoolean;

但是,这似乎有点扭曲的方式来表达诸如否定之类的简单内容。

我想念什么吗?


问题答案:

使用〜运算符

DECLARE @MyBoolean bit
SET @MyBoolean = 0
SET @MyBoolean = ~@MyBoolean
SELECT @MyBoolean


 类似资料:
  • 主要内容:精确数字类型,数字类型,日期和时间类型,字符串,Unicode字符串,二进制字符串,T-SQL中使用的其他数据类型,T-SQL中流量控制的关键词SQL Server 中的数据类型是一个属性,它生成对象的数据。每个变量、列和表达式都与 T-SQL 中的数据类型相关。创建表时将根据需要为基于列的表选择特定的数据类型。 SQL Server 有七大类,包括多种数据类型。 精确数字类型 类型 最小值 最大值 Bigint -9,223,372,036,854,775,808 9,223,372

  • 问题内容: 由于MySQL似乎没有任何“布尔”数据类型,因此您“滥用”哪种数据类型在MySQL中存储正确/错误信息? 尤其是在从PHP脚本进行读写的情况下。 随着时间的流逝,我已经使用并看到了几种方法: tinyint,包含值0/1的varchar字段, 包含字符串‘0’/‘1’或’true’/’false’的varchar字段 最后枚举包含两个选项“ true” /“ false”的字段。 以上

  • 我有一个简单的类,在下面编译时,它会正确地自动装箱整数,但是,对于我的布尔值,它无法这样做,它坚持我应该将参数更改为布尔值。我使用的是JDK1.8,否则编译器会抱怨整数转换。我看不出我做错了什么?所有包装器类都可以开箱即用,或者我是这么想的? 自动装箱不是一个双向过程吗?

  • 我得到以下错误当截短一个虚空: 类型Stubber中的(T)不适用于参数(void)时的方法 下面是我的示例代码: 我错过了什么?

  • 问题内容: 根据这个答案 我试图在我的桌子上创建一个Select for 但是我对位类型示例sqlfiddle遇到了问题,如您所见,它应该返回4行,但它仅返回3行,所以我想念什么? 问题答案: 这是因为您可以将as作为列的值。而且SQL具有三值逻辑,因此检查将返回,而不是(如您期望的那样)。我认为此查询将为您提供帮助:

  • 布尔值类型的数据表示逻辑运算结果,有两种取值: 真,使用 True 关键字表示。 假,使用 False 关键字表示。 1. 比较运算 Python 提供了 6 种比较运算用于比较数值大小,如下所示: 运算符 功能描述 > 大于 >= 大于或者等于 == 等于 != 不等于 < 小于 <= 小于等于 比较运算的结果返回 True 或者 False,如下所示: >>> 2 > 1 True >>> 2