当前位置: 首页 > 面试题库 >

SQL“ stuff”和“ FOR XML PATH”生成奇怪的符号

国兴文
2023-03-14
问题内容

我在SQL Server的更大的Select语句中有以下查询:

 CONVERT(NVARCHAR(2000),stuff((SELECT '; ' + IsNull(D2.SelectedComments,'')
 FROM #StudentDetails D2
 WHERE D2.STUD_PK = A.STUD_PK AND D2.CourseNo = A.CourseNo
AND D2.Section = A.Section
FOR XML PATH('')),1,2,'')) AS SelectedComments,

在某些条目(例如)之后,此列将生成一些奇怪的符号This approach is satisfactory .&#x0D。我不知道这.&#x0D是哪里来的。我尝试`SELECT SelectedComments FROM


问题答案:

如果您修改了For Xml Path的用法,它将为您完成转义操作,并且您无需诉诸使用Replace函数:

,   Stuff(
        (
        Select '; ' + IsNull( D2.SelectedComments, '' )
        From #StudentDetails As D2
        Where D2.Stud_PK = A.Stud_PK
            And D2.CourseNo = A.CourseNo
            And D2.Section = A.Section
        For Xml Path(''), type
        ).value('.', 'nvarchar(max)')
        , 1, 2, '') As SelectedComments


 类似资料:
  • 问题内容: 当我在Eclipse中为名称类似的类字段使用自动生成器进行getter / setter时, 将产生以下内容: 该字段的首字母将不会大写!但是我使用的一些框架可以与反射一起使用,并通过使用“ get” +大写的字段名称来调用getter / setter。 我可以在eclipse中更改getter / setter的代码生成以生成类似和的输出吗? 问题答案: 1)我认为不可能,类似的讨

  • 问题内容: 我已经为Entity Framework 4实现了通用存储库。这是一个简化版本,其中AllAppContainer是EF4对象上下文: 一种方法是QueryCount(),我想将其用作 select Count(*)… SQL行(不返回实际记录)。 直截了当?您可能会想…首先,让我们做同一件事的非存储库版本,对Item实体进行计数: SQL Server Profiler说生成的SQL

  • 我非常困惑为什么gcc会为const数组上的简单for循环生成这种(看似)非最佳代码。 结果: 我主要关心的是: 为什么无用的第一个元素比较在?这永远不会命中,也永远不会被分支回。它最终只是第一次迭代的重复代码。 < li >有没有更好的方法来编写这个非常简单的循环,这样gcc就不会产生这种奇怪的代码? < li >有没有我可以利用的编译器标志/优化?< code>O3只是展开循环,我也不希望这样

  • 问题内容: 我正在尝试在PostgreSQL 9.1中做到这一点: 结果是: 好的,让我们使用以下命令执行相同的查询: 我们再次看到了我们的商品,但是一开始!!! 事实是该表包含以下两项: 我通过一种解决方法解决了这种情况: 但是什么地狱??? !!! 为什么必须使用替代方法? 问题答案: 宣誓就不会更改定义此行为的SQL标准。 除非在中指定,否则 行的顺序是 不确定的。每个文档: 如果未选择排序

  • 问题内容: 如果我在SQL Server Express 2008上运行此查询: 它将日期存储为2011年4月11日 我该如何预防呢? 问题答案: 使用ISO-8601格式:(或)-无论您使用哪种SQL Server语言和区域设置,它始终有效。 SQL Server中的日期 不 以任何特定的面向字符串的格式存储-日期即是日期即是日期,无论您看到什么。 您会看到日期的字符串表示形式-但又一次:日期