Sql server 2005 以wqell格式将数据从select查询输出到文本文件
我有一位客人Sql server 2005 以wqell格式将数据从select查询输出到文本文件,sql-server-2005,Sql Server 2005,我有一位客人 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
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
当我将数据输出到文本文件时,数据的格式不正确,
我需要以一种格式良好的方式获得结果,如下图所示。如何设置结果以这种方式获得
我的输出应该是这样的
CustomerID DOB
000000001 11/12/1983
000000002 12/12/1983
000000003 12/12/1985
000034334 23/12/1986
000001232 15/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'从MainDB.dbo.Customer“queryout”F:\output\Temp.txt“-c-T-x-T”|“将
CustomerID
列转换为varchar
(在输出过程中),它应该删除前导零。您可以使用复制
。这将在客户ID
的开头添加零。像这样:
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
参考文献
编辑
因此,您的查询将如下所示:
SELECT
(
REPLICATE('0',9-LEN(CustomerID))+
CAST(CustomerID AS VARCHAR(100))
) AS CustomerID,
DOB
FROM
MainDB.dbo.Customer