1
------------------
YYY100.00XXX
YYY025.00XXX
YYY005.00XXX
^上面的选择来自一个如下所示的查询:
SELECT CAST(STRING1 AS CHAR(3)) ||
CAST(DECIMAL1 AS CHAR(6)) ||
CAST(STRING2 AS CHAR(3))
FROM TABLE;
我的问题是" 025.00"和" 005.00" - 我需要它是" 25.00"和" 5.00"分别 - 前导零需要用空格替换而不删除,以便查询如下所示:
1
------------------
YYY100.00XXX
YYY 25.00XXX
YYY 5.00XXX
最好的方法是什么?
编辑:我在DB2 v8.2.2上
答案 0 :(得分:0)
我认为问题是转换为char(6)
。要执行您想要的操作,请使用varchar()
和lpad()
:
SELECT CAST(STRING1 AS CHAR(3)) ||
LPAD(CAST(DECIMAL1 AS VARCHAR(6)), 6, ' ') ||
CAST(STRING2 AS CHAR(3))
FROM TABLE;