2015-11-13 46 views
1
1          
------------------ 
YYY100.00XXX 
YYY025.00XXX 
YYY005.00XXX 

^從查詢,看起來像這樣的上述選擇結果:在DB2 SQL查詢中,如何用空格替換字符串中的前導零以保持固定長度?

SELECT CAST(STRING1 AS CHAR(3)) || 
     CAST(DECIMAL1 AS CHAR(6)) || 
     CAST(STRING2 AS CHAR(3)) 
FROM TABLE; 

我的問題是「025.00」和「005.00」 - 分別是「5.00」我需要的是「25.00」和 - 前導零需要用空格替換,而不是刪除,以便查詢看起來像這樣:

1          
------------------ 
YYY100.00XXX 
YYY 25.00XXX 
YYY 5.00XXX 

什麼是最好的方式去做這件事?

編輯:我在DB2 V8.2.2

回答

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; 
+0

是LPAD可在我的版本的DB2?我在v8.2.2上(對不起,在我的開篇文章中沒有提及) – heisenbergman

相關問題