2012-04-19 66 views
1

我有一個表的客戶數據以文本文件從選擇查詢輸出wqell格式化方式

CustomerID    DOB 
1      11/12/1983 
2      12/12/1983 
3      12/12/1985 
34334     23/12/1986 
1232     15/12/1983 
232     13/12/1987 
343     24/12/1987 
1342     22/12/1988 
121111     02/12/1989 
243233233    12/12/1983 

當我的數據到一個文本文件中的數據輸出是沒有得到很好格式化, 我neeed得到結果在下面如何設置的結果,如良好的格式化的方式來獲得這樣

我放出來應該是這樣的

CustomerID      DOB 
000000001      11/12/1983 
000000002      12/12/1983 
000000003      12/12/1985 
000034334      23/12/1986 
0000/12/1983 
000000232      13/12/1987 
000000343      24/12/1987 
000001342      22/12/1988 
000121111      02/12/1989 
243233233      12/12/1983 

我的查詢看起來像這樣 EXEC master..xp_cmdshell'bcp「SELECT * from MainDB.dbo.Customer」queryout「F:\ output \ Temp.txt」-c -T -x -t「|」'

回答

2

您可以使用REPLICATE。這將在CustomerID的開頭添加零。就像這樣:

DECLARE @tbl TABLE(CustomerID INT) 

INSERT INTO @tbl 
VALUES 
    (1),(2),(34334) 

SELECT 
    REPLICATE('0',9-LEN(CustomerID))+CAST(CustomerID AS VARCHAR(100)) 
FROM 
    @tbl AS tbl 

參考here

編輯

所以您的查詢就會是這個樣子:

SELECT 
    (
     REPLICATE('0',9-LEN(CustomerID))+ 
     CAST(CustomerID AS VARCHAR(100)) 
    ) AS CustomerID, 
    DOB 
FROM 
    MainDB.dbo.Customer 
0

CustomerID列轉換爲一個varchar(在輸出過程中),它應該刪除前導零。

+0

沒有我需要添加零客戶ID – happysmile 2012-04-19 07:25:44