Получение имен столбцов из Query, проблема с одинарными кавычками - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь использовать пример sys.dm_exec_describe_first_result_set, который я нашел, чтобы получить имена столбцов, это прекрасно работает для простых запросов, но когда у меня есть запрос с одинарными кавычками, он не работает.

У кого-нибудь было бы предложение обойти это?

SELECT name 
FROM 
sys.dm_exec_describe_first_result_set
('Select [Current Status] = CASE  WHEN Matter.ArchiveStatus = 0 THEN 'Live' WHEN Matter.ArchiveStatus IS NULL THEN 'Live' WHEN Matter.ArchiveStatus = 1 THEN 'Pending Deletion' WHEN Matter.ArchiveStatus = 2 THEN 'Archived' ELSE 'Unknown' END FROM Matter', NULL, 0) 

Ответы [ 2 ]

2 голосов
/ 16 мая 2019

Вы можете просто использовать другую одинарную кавычку, чтобы избежать исходной одинарной кавычки. Как это:

('Select [Current Status] = CASE  WHEN Matter.ArchiveStatus = 0 THEN ''Live''...
0 голосов
/ 16 мая 2019

Как насчет создания хранимой процедуры, чтобы использовать ее обычным параметризованным способом?например:

create procedure [dbo].[GetResultSetColumnNames]
    @query nvarchar(4000)
as 
begin
    set nocount on;
    SELECT name 
    FROM 
        sys.dm_exec_describe_first_result_set (@query, NULL, 0)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...