相同的查询在c#中作为字符串使用时显示不同的结果

本文关键字:结果 字符串 显示 查询 | 更新日期: 2023-09-27 18:10:42

SQL查询

SELECT [ServerName]+ ''' + PARSENAME(REPLACE([Instance],''','.'), 1) AS SIN,DATE FROM [DBReports].[dbo].[Accesslevelreport]
c#查询

 "SELECT [ServerName]+ ''' + PARSENAME(REPLACE([Instance],''','.'), 1) AS SIN,DATE FROM [DBReports].[dbo].[Accesslevelreport]";

我想在c#中转换它,但结果与在SQL

中运行相比是不同的
 Results from SQL=  ANDSQLP47'DWMOD  
  Results from C#= ANDSQLP47ANDSQLP47'DWMOD

预期结果

Data in [ServerName]= ANDSQLP47
Data in [Instance] =ANDSQLP47'DWMOD

SIN列将包含服务器名和实例名,用反斜杠(''')分隔。如果从数据库读取的实例字段在文本(''')中包含斜杠,请删除的组合字段之前,斜杠和它左边的所有内容电子表格的SIN列(只截断它用于处理-什么都没有数据库中的更改)。
例如:如果instance字段包含'ANDSQLP47'CTOPROD8R2',然后将其截断为'CTOPROD8R2'

相同的查询在c#中作为字符串使用时显示不同的结果

转义您的查询。

var query = @"SELECT [ServerName]'PARSENAME(REPLACE([Instance],''','.'), 1) AS SIN,DATE" + 
                                "FROM [DBReports].[dbo].[Accesslevelreport]";
or
var query = @"
      SELECT [ServerName]'PARSENAME(REPLACE([Instance],''','.'), 1) AS SIN, DATE 
      FROM [DBReports].[dbo].[Accesslevelreport]
";