VARBINARY 标量函数 (scalar function)

VARBINARY函数返回任意类型字符串的VARBINARY(可变长度二进制字符串)表示形式。

阅读语法图跳过可视化语法图VARBINARY( 字符串表达式,整数)

该模式是 SYSIBM。

字符串表达式
返回内置字符串、图形字符串、二进制字符串或行ID类型的值的表达式。
整数
一个整数,用于指定生成的二进制字符串的长度属性。 数值必须是1到32704之间的整数。 如果未指定整数:
  • 如果字符串表达式为空字符串常量,则结果的长度属性为1。
  • 否则,结果的长度属性与字符串表达式的长度属性相同,除非字符串表达式是图形字符串。 在这种情况下,结果的长度属性是字符串表达式长度属性的两倍。

函数的结果是一个长度可变的二进制字符串。

结果可以为空;如果第一个参数为空,则结果为空值。

结果的实际长度是结果的长度属性与字符串表达式的实际长度(如果字符串表达式返回图形字符串,则为字符串表达式长度的两倍)中的较小值。 如果字符串表达式的长度大于结果的长度属性,则执行截断并返回警告,除非字符串表达式是字符串且所有截断字符都是空格,或者字符串表达式是图形字符串且所有截断字符都是双字节空格。

示例1: 以下函数返回一个长度属性为1、实际长度为0、值为空字符串的可变长度二进制字符串:
   SELECT VARBINARY('') 
     FROM SYSIBM.SYSDUMMY1;
示例2: 以下函数返回一个长度属性为5、实际长度为3、值为BX'D2C2C8'的可变长度二进制字符串:
  SELECT VARBINARY('KBH',5) 
    FROM SYSIBM.SYSDUMMY1;
示例3: 以下函数返回一个长度属性为3、实际长度为3、值为 BX'D2C2C8'
  SELECT VARBINARY('KBH ',3) 
    FROM SYSIBM.SYSDUMMY1;
示例4: 以下函数返回一个长度属性为3、实际长度为3、值为BX'D2C2C8'的可变长度二进制字符串,同时返回一个警告。
  SELECT VARBINARY('KBH-93',3) 
    FROM SYSIBM.SYSDUMMY1;
示例 5: 以下函数返回一个长度属性为 3、实际长度为 3 且值为 BX'C1C2C3' 的可变长度二进制字符串,同时还会返回一个警告。
  SELECT VARBINARY(BINARY('ABC',5),3) 
    FROM SYSIBM.SYSDUMMY1;