[英]How can I get only numbers from a string as a computed column in SQL Server with no leading zeroes?
[英]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.