C# 在C中用作字符串时显示不同结果的同一查询
SQL查询 C查询 我想在C中转换它,但结果与在SQL中运行的结果不同C# 在C中用作字符串时显示不同结果的同一查询,c#,sql-server,string,C#,Sql Server,String,SQL查询 C查询 我想在C中转换它,但结果与在SQL中运行的结果不同 Results from SQL= ANDSQLP47\DWMOD Results from C#= ANDSQLP47ANDSQLP47\DWMOD 预期结果 SIN列将包含服务器名和实例名,用反斜杠“\”分隔。如果 从数据库读取的实例字段在文本“\”中包含斜杠,请删除 斜杠和它左边的所有内容,然后再合并 电子表格的SIN列仅截断此项以进行处理-无任何处理 数据库中的更改。 例如:如果实例字段包含 '和sql
Results from SQL= ANDSQLP47\DWMOD
Results from C#= ANDSQLP47ANDSQLP47\DWMOD
预期结果
SIN列将包含服务器名和实例名,用反斜杠“\”分隔。如果
从数据库读取的实例字段在文本“\”中包含斜杠,请删除
斜杠和它左边的所有内容,然后再合并
电子表格的SIN列仅截断此项以进行处理-无任何处理
数据库中的更改。
例如:如果实例字段包含
'和sqlp47\CTOPROD8R2',然后在
将其与ServerName字段相结合。只需转义查询即可
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]
";
您的查询似乎有一些转义字符。例如,如果要在字符串中添加反斜杠字符,则应使用“\\”而不是“\”。使用双反斜杠而不是一个反斜杠。我试过了。你能告诉我正确的语法吗?它可以像选择[ServerName]+'\\'+PARSENAMEREPLACE[Instance],'\\','.',1作为SIN,日期从[DBReports].[dbo].[Accesslevelreport];如果您只是在字符串文本前面加上@,则可能不需要转义任何内容,但这取决于您实际如何用C编写字符串。您发布的内容可能是字符串变量的内容,但不是C代码。实际的代码是什么?万岁的逐字字符串:他们甚至不需要+在换行符;是的,在这种情况下,根本不需要+号。
Results from SQL= ANDSQLP47\DWMOD
Results from C#= ANDSQLP47ANDSQLP47\DWMOD
Data in [ServerName]= ANDSQLP47
Data in [Instance] =ANDSQLP47\DWMOD
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]
";