无法删除尾随空格

Can't remove trailing spaces

我试图删除尾随空格但没有成功:

select trim(trailing ' ' from '1234                       '), '56' from sysibm.sysdummy1;
1                           2 
--------------------------- --
1234                        56

我错过了什么?

你的意思是:

select trim(trailing ' ' from '1234                       ')|| '56' from sysibm.sysdummy1

具体来说:

select length(trim(trailing ' ' from '1234                       ')|| '56') from sysibm.sysdummy1;


1          
-----------
          6

  1 record(s) selected

.

据记载,trim 将保持数据类型不变 - 查看 Knowledge Center

describe "select trim( '1234                       '), '56' from sysibm.sysdummy1"


 Column Information

 Number of columns: 2

 SQL type              Type length  Column name                     Name length
 --------------------  -----------  ------------------------------  -----------
 448   VARCHAR                  27  1                                         1
 448   VARCHAR                   2  2                                         1

如果您想更改结果的外观/数据类型,您可以将其转换为您需要的长度或数据类型

select varchar(trim( '1234                       '), 5), '56' from sysibm.sysdummy1"

1     2
----- --  
1234  56

1 record(s) selected.

其他方法,如果你的db2版本启用了RPAD功能(iserie上的V7R2):

select rpad('1234                       ', 5, ' '), '56' 
from sysibm.sysdummy1