Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 2008 如何使用作业执行查询并将结果网格转换为文本?_Sql Server 2008 - Fatal编程技术网

Sql server 2008 如何使用作业执行查询并将结果网格转换为文本?

Sql server 2008 如何使用作业执行查询并将结果网格转换为文本?,sql-server-2008,Sql Server 2008,我需要执行查询并将结果转换为文本。我知道如何在管理工作室内做到这一点。但我需要在存储过程中执行此操作,并将输出结果保存到文本列中。查询本身不知道网格或文本窗格是什么-这些是编码到Management Studio中的表示细节。如果您想将行中的值组合起来并将它们连接到单个字符串中,然后将这些行插入到文本列中(我希望您的意思是VARCHAR(MAX)或NVARCHAR(MAX),因为text已被弃用,不应该使用),您可以这样说,请记住,您需要手动将任何非字符串类型(int、date等)转换为varc

我需要执行查询并将结果转换为文本。我知道如何在管理工作室内做到这一点。但我需要在存储过程中执行此操作,并将输出结果保存到文本列中。查询本身不知道网格或文本窗格是什么-这些是编码到Management Studio中的表示细节。如果您想将行中的值组合起来并将它们连接到单个字符串中,然后将这些行插入到文本列中(我希望您的意思是
VARCHAR(MAX)
NVARCHAR(MAX)
,因为
text
已被弃用,不应该使用),您可以这样说,请记住,您需要手动将任何非字符串类型(
int
date
等)转换为
varchar
nvarchar

INSERT dbo.OtherTable(NVARCHAR_MAX_COLUMN)
  SELECT varchar_column + CONVERT(VARCHAR(12), int_column) + ...
  FROM dbo.table;
如果还需要合并行并插入一个表示整个表的文本转储的大值,则可以稍微不同:

DECLARE @v NVARCHAR(MAX) = N'';

SELECT @v += CHAR(13) + CHAR(10) 
    + varchar_column + CONVERT(VARCHAR(12), int_column) + ...
    FROM dbo.table;

INSERT dbo.OtherTable(NVARCHAR_MAX_COLUMN) SELECT @v;