末尾削除することはできません私は成功せず、末尾のスペースを削除しようとしている:私はにスペース
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機能(iserie上V7R2)有効にした場合:
select rpad('1234 ', 5, ' '), '56'
from sysibm.sysdummy1
をそれは「1234」と「56」との間のスペースを削除することで動作しますが、それでも、結果の文字列はすべて持っています末尾のスペース。私の主な問題は、連結するのではなく、空白を整えることです。 –
これについて考えるなら、この答えは末尾のスペースが削除されたことを示しています。 – WarrenT
@ClodoaldoNeto列がまだ元の幅で表示されているため、単純にそこにいると仮定しています。もう一度見てください。上記の答えは、長さが6であることを示しており、結果に空白がないことを示しています。/column /自体は元の定義を保持していますが(Michaelの答えを参照)、列の/ value /はわずか6文字です。 – WarrenT