GET_BIT (Transact SQL)

适用于: sql Server 2022 (16.x) Azure SQL 数据库 Azure SQL 托管实例 Microsoft FabricWarehouse 中的 Microsoft Fabric Warehouse 中的 SQL 分析终结点

GET_BIT 采用两个参数,并返回 expression_value 中由 bit_offset定义的偏移量中的位。

Transact-SQL 语法约定

语法

GET_BIT ( expression_value, bit_offset )

参数

expression_value

任何不是大型对象的整数或二进制表达式(LOB)。

bit_offset

任意整数。

返回类型

bit

GET_BIT 中的 bit_offset 参数用于标识要获取或设置的数据 n位。 在整数类型中,第 0 个位是最小有效位。 在二进制类型中,第 0 个位是最右侧字节中最小有效位。

如果 bit_offset 为负或大于数据类型的最后一位,GET_BIT 将引发错误。

备注

不支持链接服务器或即席查询(OPENQUERY)中位作函数的分布式查询功能。

数据库引擎中的大型对象 (LOB) 数据类型可以存储超过 8,000 字节的数据。 这些数据类型将数据存储在 行溢出 数据页上。 LOB 还包含将数据存储在专用 LOB 页面结构上的数据类型,这些结构使用对 LOB 数据页的行内引用的文本或图像指针。 有关数据存储的详细信息,请参阅 页面和盘区体系结构指南

位作函数对 tinyintsmallintintbigintbinary(nvarbinary(n 数据类型进行作。 不支持大型对象(LOB)数据类型,如 varchar(max)nvarchar(max)varbinary(max)图像ntext文本xml和公共语言运行时 (CLR) BLOB 类型)。

示例

在此示例中,返回第二个位和第四个位。

SELECT GET_BIT ( 0xabcdef, 2 ) as Get_2nd_Bit,
GET_BIT ( 0xabcdef, 4 ) as Get_4th_Bit;

结果如下所示:

Get_2nd_Bit Get_4th_Bit
1 0

注意

0xabcdef 二进制形式为 1010 1011 1100 1101 1110 1111。 第二个位和第四个位已突出显示。