我正在尝试删除尾随空格但没有成功:
select trim(trailing ' ' from '1234 '), '56' from sysibm.sysdummy1;
1 2
--------------------------- --
1234 56
我错过了什么?
答案 0 :(得分:5)
据记载,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.
答案 1 :(得分:2)
你的意思是:
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
.
答案 2 :(得分:0)
其他方法,如果您的db2版本启用RPAD功能(V7R2 on isieie):
select rpad('1234 ', 5, ' '), '56'
from sysibm.sysdummy1