Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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 从查询中获取列名,使用单引号发出_Sql_Sql Server - Fatal编程技术网

Sql 从查询中获取列名,使用单引号发出

Sql 从查询中获取列名,使用单引号发出,sql,sql-server,Sql,Sql Server,我试图使用sys.dm_exec_descripe_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.Arc

我试图使用sys.dm_exec_descripe_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) 

您可以使用另一个单引号来转义原始单引号。像这样:

('Select [Current Status] = CASE  WHEN Matter.ArchiveStatus = 0 THEN ''Live''...

您可以使用另一个单引号来转义原始单引号。像这样:

('Select [Current Status] = CASE  WHEN Matter.ArchiveStatus = 0 THEN ''Live''...

如何创建一个存储过程以正常的参数化方式利用它? e、 g:


如何创建一个存储过程以正常的参数化方式利用它? e、 g:


这是有效的谢谢,但它给了我其他问题,我正在将其构建到一个API中,因此我希望能够在多个地方使用此查询,如果我必须使用双引号,它将作为“正常”查询中断。对不起,我无法准确理解情况;但是,如果您使用占位符为字符串定义语句,然后为单个值应用逻辑(因此,如果它们在其中,则将引号加倍?)这是可行的,谢谢,但它给了我其他问题,我正在将其构建到API中,因此我希望能够在多个位置使用此查询,如果我不得不使用双引号,它将作为一种“正常”的质问而中断,我无法准确地理解情况;但是,如果您使用占位符为字符串定义语句,然后为单个值应用逻辑(因此,如果引号在其中,则将引号加倍?)