草庐IT

查询优化

全部标签

sql-server - 使用 T-SQL 查询 XML 字段

如何使用T-SQL查询XML数据中的多个节点并将结果输出为单个逗号分隔的字符串?例如,我想在以下XML中获取所有目的地名称的列表,看起来像“德国、法国、英国、意大利、西类牙、葡萄牙”我正在尝试类似的东西:Countries=[xmlstring].value('/Holidays/Summer/Regions/Destinations/@Name','varchar') 最佳答案 首先,要从源XML表中获取记录列表,您需要使用.nodes功能(DEMO):selectDestination.value('data(@Name)','

sql - 如何查询包含 XML(不是 xml 列类型)的 SQL Server TEXT 列中的值

我有表文档:DOCUMENTS____________________DOCUMENTIDintUSERIDintCONTENTtext我将以下XML存储在SQLServer数据库中名称为CONTENT的TEXT列中3060122306110-09-20143062Да306301-10-20143065Изборнаконсултанти我找到了一种方法,如何通过大量转换从表中的单行中查询dingleXML属性:DECLARE@strContentNVARCHAR(MAX);DECLARE@xmlContentXML;SET@strContent=(selectcontentfrom

ruby - 带有 dict 元素的 Plist XPath 查询

我正在尝试通过Nokigiri从plist的iTunes库导出中加载歌曲名称:doc=Nokogiri::XML(打开(文件.路径))@songs=Array.newdoc.xpath().eachdo|n|@songs.push(n)#appenddatatoarrayendplist的开头如下所示:MajorVersion1MinorVersion1Date2014-10-15T22:52:19ZApplicationVersion11.4Features5ShowContentRatingsMusicFolderfile://localhost/Users/mike/Music/

sql-server - 查询 XML 列

我有一个SQLServer2012表,其中一列是XML数据类型。以下是其中一个值:问题:如何编写一个查询,将以上所有内容显示为列,例如...SELECT???asprocessed,???asdeferred,???asdelivered,---etc.FROMmytable 最佳答案 这个怎么样:DECLARE@inputTABLE(IDINTNOTNULL,XmlColXML)INSERTINTO@inputVALUES(1,''),(2,'')SELECTID,Processed=xc.value('(Counter[@Cou

sql - 使用 T-SQL 对 XML 文档进行聚合查询

我有一个具有这种结构的XML文件:几行具有相同的id但时间戳不同。我想编写一个查询,将XML的内容提取到一个SQL行集中,这样对于每个id,我将获得具有最新时间戳的行。到目前为止,感谢这个SOquestion,我必须使用以下方法提取行:SELECTT2.Row.query('.')FROM#xml_tmp_tableCROSSAPPLYXML_TABLE.nodes('/xml_ROOT/section_of_interest')asT2(Row)现在,根据SQL文档,从XML行读取单列数据可以通过value()完成方法。所以我想做这样的事情:SELECTT2.Row.query('.

c# - 使用 Linq 查询解析 List<CustomClass> 中的 XML

我的问题是如何实现从XML文件解析为List类的linq查询这是自定义类:CustomClass.cspublicclassListItem{publicintid;publicstringname;publicintminLevel;publicintminAttr1;publicintminAttr2;publicfloatdamage;publicfloatadditionalDmg;publicstringadditionalDmgType;publicfloatrange;publicfloatcost;publicListItem(int_id,string_name,in

SQL 将子查询 'Total Records' 返回给外部查询

这让我有点难过,我试图从这个SQL查询中获取我的顶级(根)节点XML中的总数:SELECTCOUNT(*)OVER()as'@totalCount',(SELECTCOUNT(*)OVER()astotalCount,[Title],[Year],[Type],[Poster]FROMmoviesAsresultwhereCONTAINS(Title,@Title)Orderby[Weight]DESCOFFSET((@PageNumber-1)*@RowspPage)ROWSFETCHNEXT@RowspPageROWSONLYFORXMLAUTO,type)FORXMLPATH('

c# - SQL Server中如何查询XML列中的数据

我在xml列中有这样的数据:1tea2coffee我想将productname的值更改为greentea,其中productID=2。我正在使用:UPDATE[dbo].ProductDocsSETProductDoc.modify('replacevalueof(/Product/ProductName)[2]with"NewName"')但在这里它总是会改变第二个产品的值(value)。请告诉我如何使用productID查询。 最佳答案 使用谓词表达式按productID值过滤product元素,如下所示:UPDATE[dbo]

xml - xslt 2.0 处理器是否优化仅选择序列中的第一项?

例如,对于输入文档:和样式表:XSLT处理器是否通过不评估序列(@a,@b,@c)[1]中的@c项来进行优化?以这种方式定义vTest的原因是尝试以更短的方式模拟xsl:choose逻辑。我想这可能很难回答,我对SaxonXSLT2.0处理器版本9.5+特别感兴趣。 最佳答案 撒克逊肯定会做这个优化。但规范中没有任何内容可以保证这一点。并且在某些情况下可能不会发生,例如try/catch中的执行策略可能会有所不同。但通常是的,大多数半途而废的XSLT处理器会在您编写EXPR[1]时避免完全计算EXPR。

xml - 优化 XSLT 中的递归

我有以下XML。它包含书籍和引用资料。一些引用资料追溯到第1册,例如书4指的是书3,书3指的是书1。Book1Book2Book3Book4我编写了以下XSLT,它通过追溯对原始来源的引用并添加相应的文本语句来丰富代码:Thisbookrefersto!它产生所需的输出:Book1Book2Book3ThisbookreferstoBook1!Book4ThisbookreferstoBook1!我的问题:这是“好”方法还是更适合此任务的解决方案? 最佳答案 鉴于引用和ID,我通常很想使用xsl:key和key函数,在您的情况下,因