Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 函数 » SQL 函数 (A-D)

 

BIT_SUBSTR 函数 [Bit array]

返回位数组的子数组。

语法
BIT_SUBSTR( bit-expression [, start [, length ] ] )
参数
  • bit-expression   从中抽取子数组的位数组。

  • start   要返回的子数组的开始位置。如果开始位置为负值,则指定从数组结尾处(而不是开始处)算起的位数。数组中的第一位在位置 1 处。

  • length   要返回的子数组的长度。如果长度为正值,则指定子数组在开始位置右侧第 length 位处结束;如果长度为负值,则至多返回开始位置左侧(包括开始位置)的 length 位。

返回值

LONG VARBIT

注释

startlength 可以是正数也可以是负数。通过使用适当的负数和正数组合,可以从字符串开始处或结束处获取子数组。使用负数作为 length 不会影响在子数组中返回的位的顺序。

如果指定了 length,则子数组不能超过该长度。如果 start 为零且 length 为非负数,则使用 1 作为 start 的值。如果 start 为零且 length 为负数,则使用 -1 作为 start 的值。

如果未指定 length,将继续进行选择,直至到达数组的尾部。

BIT_SUBSTR 函数等同于以下语句,但执行速度更快:

CAST( SUBSTR( CAST( bit-expression AS VARCHAR ), 
start [, length ] ) 
AS VARBIT )
另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下语句返回 1101:

SELECT BIT_SUBSTR( '001101', 3 );

以下语句返回 10110:

SELECT BIT_SUBSTR( '01011011101111011111', 2, 5 );

以下语句返回 11111:

SELECT BIT_SUBSTR( '01011011101111011111', -5, 5 );