TRIM 函数

TRIM 函数从字符串移除指定的开头或末尾的填充字符。(另请参阅 LTRIMRTRIM 函数的描述,这两个函数提供类似的功能,但支持不同的语法。)
TRIM 函数
元素 描述 限制 语法
pad_char 求值为单个字符或 NULL 的表达式。缺省值为空格(= ASCII 32)。 必须为字符表达式 表达式
source_expression 字符表达式,包括字符列名,或对另一 TRIM 函数的调用 不可为 DISTINCT 数据类型 表达式

TRIM 函数返回一个与它的 source_expression 参数相同的字符串,除了删除由 LEADING、TRAILING 或 BOTH 关键字指定的开头或末尾填充字符之外。如果未指定修正限定符(LEADING、TRAILING 或 BOTH),则缺省值为 BOTH。如果未指定 pad_char,则缺省值为单个空格(ASCII 32 字符),并从返回的值删除由限定的关键字指定的开头的或末尾的空格。

如果 pad_charsource_expression 求值为 NULL,则 TRIM 函数的结果为 NULL。

返回的值的数据类型依赖于 source_expression 参数:
  • 如果参数长于 255 字节,则返回的值为 LVARCHAR 类型。

  • 如果参数有 255 字节或更少,则返回的值的数据类型依赖于参数的数据类型:
    • 如果参数是 CHAR 或 VARCHAR 类型,则返回 VARCHAR 值。
    • 如果参数是 NCHAR 或 NVARCHAR 类型,则返回 NVARCHAR 值。
    • 如果参数是 LVARCHAR 类型,则返回 LVARCHAR 值。
对于 VARCHAR 或 NVARCHAR source_expression 参数,返回的值的长度为 255 字节或更少,而对于 CHAR、NCHAR 或 LVARCHAR 参数,长度不超过 32,739 字节。
下列示例展示 TRIM 函数的一些一般使用:
SELECT TRIM (c1) FROM tab;
          SELECT TRIM (TRAILING '#' FROM c1) FROM tab;
          SELECT TRIM (LEADING FROM c1) FROM tab;
          UPDATE c1='xyz' FROM tab WHERE LENGTH(TRIM(c1))=5;
          SELECT c1, TRIM(LEADING '#' FROM TRIM(TRAILING '%' FROM
          '###abc%%%')) FROM tab;

在动态 SQL 中,当您随同在 Projection 子句中调用 TRIM 函数的 SELECT 语句来使用 DESCRIBE 语句时,对于在 GBase 8s ESQL/C 源文件的 sqltypes.h 头文件中定义的 SQL 数据类型常量,DESCRIBE 返回的修正的列的数据类型依赖于 source_expression 的数据类型。要获取关于 GBase 8s ESQL/CTRIM 函数在 GLS 方面的更多信息,请参阅 GBase 8s GLS 用户指南