更改开始

BTRIM 标量函数 (scalar function)

BTRIM 函数将从源字符串的开头和结尾移除修剪字符串中指定的字符。

FL 507

更改开始
仅传递表达式 :此功能仅传递,无法在 Db2 for z/OS® 上运行,且无法加速。 有关调用此功能的信息,请参阅 《使用仅传递表达式加速查询 》。
更改结束
阅读语法图跳过可视化语法图BTRIM(源字符串 ,字符串 )

该模式是 SYSIBM。

此功能将修剪字符串中每个字符(由一个或多个字节组成)的二进制表示与源字符串开头和结尾处每个字符(由一个或多个字节组成)的二进制表示进行比较。 数据库整理不会影响搜索。 如果源字符串定义为“位数据”,则搜索会将修剪字符串中的每个字节与源字符串的开头和结尾的字节进行比较。

source-string
用于指定要从中移除字符的字符串的表达式。 此表达式必须返回内置字符串、图形字符串、数值或日期时间值。 如果源字符串为:
  • 一个数字或日期时间值,在函数计算前隐式转换为VARCHAR类型
  • CLOB值,其长度限制为VARCHAR的最大值
  • DBCLOB 值,其实际长度受限于 VARGRAPHIC 的最大值
trim-string
用于指定要从源字符串的开头和结尾移除的字符的表达式。 该表达式必须返回内置字符串、图形字符串、数字值或日期时间值。 如果修剪字符串为:
  • 不是字符串或图形字符串,在对该函数进行求值之前会将其隐式强制转换为 VARCHAR
  • CLOB,实际长度限制为VARCHAR的最大值
  • 对于DBCLOB,值的实际长度受VARGRAPHIC的最大大小限制
源字符串的类型决定了默认的修剪字符串:
源字符串的类型 缺省修剪字符串
图形字符串 双字节空白
FOR BIT DATA 字符串 X'20'
所有其他问题 单字节空白
限制:
  • 如果源字符串未定义为“用于位数据”,则修剪字符串不能定义为“用于位数据”。
  • 如果一个参数(源字符串或修剪字符串)是字符位数据,则另一个参数不能是图形。

结果

源字符串的数据类型将确定结果的数据类型:
源字符串的数据类型 结果的数据类型
VARCHAR 或 CHAR VARCHAR
CLOB CLOB
VARGRAPHIC 或 GRAPHIC VARGRAPHIC
DBCLOB DBCLOB

结果的数据类型的长度属性与源字符串的数据类型的长度属性相同。 结果的长度等于源字符串的长度减去已移除的字符串单元数。 如果移除了所有字符,那么结果是长度为零的空字符串。

如果任何参数可以为空值,那么结果可以为空值。 如果任何参数为空值,那么结果为空值。

示例

  • 主变量 BALANCE1 的类型为 CHAR(9),并具有值 '000345.50'。 以下语句返回值 '345.5'
     SELECT BTRIM(:BALANCE1, '0')
       FROM SYSIBM.SYSDUMMY1
  • 主变量 BALANCE2 的类型为 CHAR(9),并具有值 ' 345.50'。 以下语句返回值 '345.50'
     SELECT BTRIM(:BALANCE2)
       FROM SYSIBM.SYSDUMMY1
更改结束