繁体   English   中英

在DB2 SQL查询中,如何用空格替换字符串中的前导零以保持固定长度?

[英]In a DB2 SQL query, how can you replace leading zeroes in a string with spaces to maintain a fixed length?

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

我认为问题是转换为char(6) 要执行所需的操作,请使用varchar()lpad()

SELECT CAST(STRING1 AS CHAR(3)) ||
       LPAD(CAST(DECIMAL1 AS VARCHAR(6)), 6, ' ') ||
       CAST(STRING2 AS CHAR(3))
FROM TABLE;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM