我试图删除尾随空格没有成功:无法删除尾随空格
select trim(trailing ' ' from '1234 '), '56' from sysibm.sysdummy1;
1 2
--------------------------- --
1234 56
我缺少什么?
我试图删除尾随空格没有成功:无法删除尾随空格
select trim(trailing ' ' from '1234 '), '56' from sysibm.sysdummy1;
1 2
--------------------------- --
1234 56
我缺少什么?
据记载,微调将保持数据类型是 - 检查出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.
你的意思是:
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
.
其他的方法,如果您的DB2版本使RPAD功能(V7R2上iserie):
select rpad('1234 ', 5, ' '), '56'
from sysibm.sysdummy1
它的工作原理是“1234”之间消除空间和“56”,但仍然得到的字符串已全部尾随空格。我的主要问题不是连接,而是要裁减空白。 –
如果你仔细想想,这个答案证明尾部空格被删除。 – WarrenT
@ClodoaldoNeto也许你认为他们在那里只是因为列仍然以原始宽度显示。再看一遍,上面的答案显示了长度为6,证明结果中没有尾随空白。/column /本身保留原始定义(请参阅Michael的答案),但列中的/ value /只有6个字符长。 – WarrenT