VARBINARY 标量函数 (scalar function)
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;