草庐IT

dynamic-sql

全部标签

sql-server - 在 SQL Server 中使用 XQuery 返回重复项

我希望这不是一个重复的问题。我在这个网站上到处搜索我的问题,但没有找到任何东西,所以这是我的问题...我正在使用XQuery将XML文档解析为SQL服务器结果集。由于一些重复的节点名称/值对,我得到了重复项。为什么我会得到这些重复项?非常感谢任何帮助或协助。XML:12SQL:DECLARE@XMLXML='12'DECLARE@XMLTableASTABLE(MyXMLXML)INSERTINTO@XMLTable(MyXML)VALUES(@XML)SELECTrec.c.value('recordid[1]','INT')ASRecordId,t.c.value('test[@n

sql-server - sql server 2005 xml更新查询汉字

我正在尝试用中文字符更新标签的值。但是它不添加汉字。相反,它添加了“???”.例如updatetablesetcol.modify('将(/tag/text())[1]的值替换为“我”')where..非常感谢任何帮助谢谢本 最佳答案 对于像这样的国际字符,您通常希望使用N'thisismydata'来表示它是unicode/nchar。否则它被视为char,我假设db排序规则不支持您提交的字符。试着去做select'mychars'然后看看您是否仍然得到问号,我想是的。编辑-这是一个证实我的建议有效的例子:declare@xxml

sql-server - 从数据库中检索数据时如何转义特殊字符?

我将根据SQLServer返回的数据生成XML文件,但是有一些特殊字符,如和(可能还有其他像这样的字符),这将使XML失败。有什么办法可以逃脱吗?谢谢! 最佳答案 无论是逐字还是使用&#...;数字字符引用。它们仅在作为字符引用包含时才允许出现在XML1.1文档中。然而,XML1.1并没有像1.0那样被广泛接受,而且你不能使用U+0000(空)作为字符引用,所以仍然不可能将任意二进制数据放入XML文件中⟩—⟩并不是说它是永远是个好主意。如果你想在XML文件中包含数据字节,你通常应该使用你自己的特殊编码,这种编

sql-server - 如何在 XML 中转换聚合函数

在SQLServer2008中。我需要执行这样的查询:DECLARE@xASxmlSET@x=N'FirstTextOtherText'SELECT@x.query('fn:max(r/c)')但什么都不返回(显然是因为将xdt:untypedAtomic转换为数字)如何将r/c“转换”为varchar?有点像SELECT@x.query('fn:max(«CAST(r/c«ASvarchar(20))»)')编辑:使用节点函数MAX来自T-SQLnofn:maxfunction在这段代码中:DECLARE@xxml;SET@x='';SELECT@x.query('fn:max((1

sql - 在 TSQL 中搜索不存在节点的 xml 的更好方法

我们有一个源XML文件,它有一个address节点,每个节点下面应该有一个zip_code节点,以便证实。我们收到了一个未通过架构验证的文件,因为至少有一个节点缺少它的邮政编码(文件中有数千个地址)。我们需要找到没有邮政编码的元素,这样我们就可以修复文件并向源发送审核报告。--declare@xxml=bulkcolumnfromopenrowset(bulk'x:\file.xml',single_blob)assdeclare@xxml=N'1532072'declare@txml=(select@x.query('for$ain.//addressreturnif($a/zip_

xml - 在哪里可以找到有关 Microsoft Dynamics CRM API 的 SOAP/XML 查询的信息

我正在为一个客户开发一个项目,该客户希望将他们的网站(用PHP构建)与其Microsoft托管的DynamicsCRM2011集成。我在这里找到了一个很好的资源,用于连接到Dynamics服务器并从数据库中提取非常基本的信息(联系人/帐户):->http://www.21logs.com/php-and-microsoft-dynamics-crm-source-code/我今天花了很多时间寻找有关其他类型的SOAP/REST查询的信息,我需要使用这些查询来提取更多信息或在数据库中添加/更新信息,我想出了一个漂亮的蛇眼。如果有人知道有一些额外的XML示例查询来处理DynamicsCRM

sql-server - 如何重命名 SQL Server 中的 XML 节点名称

我的数据库中有一个表,其中一列存储XML数据。由于源代码的更改,我们希望重命名一个特定的XML节点名称和XML命名空间。假设我有以下XML:TestBook1.00我如何重命名节点MediaClass名称让我们说Book并更改namespace值?所以它看起来像:TestBook1.00我需要完全在T-SQL中完成,因为这将用作迁移脚本。我们客户上安装的最低SQLServer是SQLServer2005。 最佳答案 我不知道XMLDML是否可行使用replace可能对您有用相反。updateYourTablesetXMLCol=re

sql - 选择 SQL 查询以从 ntext 列获取 xml 节点值?

我想从NTEXT列中获取一个xml节点值,该列包含基于where子句查询另一个xml节点值的xml。RDBMS类型:MicrosoftSQLServerT-SQL此处:我想根据StoreIdwhere子句值获取代码节点值。我如何得到它?输入:100输出:ABCDE例如:100ABCDE 最佳答案 如果您使用的是SQLServer2005或2008,则可以像这样使用XQuery:有关XQuery的更多信息,请参阅XQueryLanguageReferenceDECLARE@storeIdINTSET@storeId=100CREATE

sql - 使用 SQL 解析/查询 XML

我已经为此奋斗了一段时间,似乎我很接近但还没有完全解决。我在数据库中有一列,如下所示:oneisthefirstnumbertwoisthesecondnumber在此示例中,我需要查询并返回“二是第二个数字”。我也想在不创建临时表的情况下执行此操作。目前我有:createtable#test(item1xml)insertinto#test(item1)values('oneisthefirstnumbertwoisthesecondnumber')selectitem1.value('(/document/items/item)[2]','nvarchar(max)')from#t

sql - 声明终止。最大递归 100 在语句完成之前已经用完

我正在编写一个存储过程来检索菜单控件的xml结构。这似乎是一个有效的代码(根据我的说法,这是错误的)但在查询测试器上运行不佳。我怎样才能纠正下面的错误是代码;WITHHierarchyAS(SELECTMenUid,MenuName,ApplicationId,ParentMenuId,1AS'Level'FROMdbo.MenuWHEREParentMenuId='-1'UNIONALLSELECTM.MenUid,M.MenuName,M.ApplicationId,M.ParentMenuId,Level+1AS'Level'FROMdbo.MenuMINNERJOINHiera