我試圖刪除尾隨空格沒有成功:無法刪除尾隨空格
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