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