Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 以wqell格式将数据从select查询输出到文本文件_Sql Server 2005 - Fatal编程技术网

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