草庐IT

SQL选择一行的后代

全部标签

sql-server - SQL Server 2005 Xquery 命名空间

我正在尝试从Xml数据类型中获取一些值。数据如下:LirriaLatimore请注意元素FirstName和LastName中存在xmlns-这是在我们通过序列化C#业务对象创建xml时添加的。无论如何,元素中这个namespace的存在似乎导致XQuery表达式失败,例如:SELECTMyTable.value('(//Individual/LastName)[1]','nvarchar(100)')ASFirstName这将返回空值。但是,当我从xml中的元素中删除命名空间时(例如,使用ReplaceT-SQL语句),上面的代码会返回一个值。但是必须有更好的方法-是否有一种方法可以

sql - 如何从 nvarchar(max) 类型的列中存储和提取 XML 信息,并在连接中使用它?

我有一个类型为“nvarchar(max)”的列,它现在应该包含XML信息而不仅仅是一个字符串。说:col1的值为'abc'现在它具有值和附加信息:abcsomeotherinfo将信息存储到列中很好,因为它仍然可以作为字符串插入。但是,从该列中提取相同的信息并使用/替换在其他表的各种其他连接中使用的相同信息“abc”是我无法弄清楚的。当此信息来自另一个表的值“abcd”时,我如何将其插入abcd而不会丢失其他信息?我正在从应用程序端构建一个XML,并在nvarchar()类型的列中更新它。所有列都已被替换以保存XML,因此安全的假设是col1仅保存与上述类似的XML。只需按原样推送X

xml - 改变选择顺序

在我的架构文件中,我定义了一个组,其中包含可能的元素的序列。然后我这样引用这个组:是否可以在其他点引用Group但对其进行限制,使其成为Choice而不是Sequence。我想重用它的位置只允许其中一个元素。 最佳答案 不,您需要定义一个不同的组。 关于xml-改变选择顺序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4946500/

SQL 服务器 2008 : How do you convert an XML variable into tabular data?

假设我有这个XML变量:declare@xmlxml=''还有一个具有这种结构的表:EmployeeId(int)FirstNamevarchar(50)LastNamevarchar(50)如何填充它?我正在使用SQLServer2008。 最佳答案 INSERTINTOYourTableSELECTtab.col.value('@EmployeeId','int'),tab.col.value('@FirstName','varchar(50)'),tab.col.value('@LastName','varchar(50)')

c# - 使用 C# 将选择性 XML 数据加载到数据集中

感谢一些关于如何在XML文件上使用XPath以仅提取一些数据并将其加载到数据集中的指示。ds.ReadXml(fsReadXml);会将整个xml加载到数据集中,但我的要求是仅将特定节点和值加载到数据集中。示例xml数据:BOTHtrue在这个示例数据中,我只需要从节点加载帐户,如果可能的话,只需要加载数字、交易当前值和选择当前值属性。我使用C#和3.5。 最佳答案 使用XDocument:vardoc=XDocument.Load(fileName);varlst=doc.Descendants("summary")//don't

sql - 更新 SQL Server XML 列中的 XML 属性

我正在尝试更新存储在SQLServerXML列中的XML中的节点,如果我的XML在XML元素中,则下面的行有效,但现在我需要以某种方式将其更改为XML属性,显然更改后行失效。适用于XMLElement:UPDATE[Customers]SETvoucherXML.modify('replacevalueof(/ArrayOfCampaignVoucher/CampaignVoucher/Qty/text())[1]with"50"')WHEREvoucherXML.value('(/ArrayOfCampaignVoucher/CampaignVoucher/VouCode)[1]',

sql - 如何在 SQL 中从 XML 中选择值

我试图从SQL中的一些XML中获取值,但在最后一部分遇到困难,我如何从中获取值?DECLARE@InfoXMLSET@Info=N'C:\429223288832I:\228759863296'--DeclareahandleforthexmldocumentDECLARE@idocINT--PreparethexmlEXECsp_xml_preparedocument@idocOUTPUT,@InfoSELECT*FROMOPENXML(@idoc,'/ArrayOfDriveData/DriveData/,3)我得到的结果是:id|parentid|nodetype|localna

xml - 如何在SQL中输出带有属性和字段值的xml

我想从xml中的表中输出一些字段。我需要将列的名称放在名称属性中。输出必须类似于:TestfortheinfoAmsterdam我试过这样的事情:SELECTTOP3ko.infoPlannerAS"udfield/name/@infoplanner",ko.plantAS"udfield/name/@plant",ko.capabilityAS"udfield/name/@capability"FROMsometablekoWHERECONVERT(VARCHAR(8),ko.datumtijd,112)=CONVERT(VARCHAR(8),GETDATE(),112)ANDCOA

sql-server - SSIS XML XSLT 任务内存不足

我正在BIDS2005中开发一个包,该包以针对非常大的输入文件的XML(XSLT)任务开始,并不断收到以下错误[XMLTask]Error:Anerroroccurredwiththefollowingerrormessage:"Exceptionoftype'System.OutOfMemoryException'wasthrown.我的工作站是Win764位-16GIGRam-i78核处理器3.5gHZ。我在此过程中运行任务管理器,它在运行期间最多只能使用大约7.5gigs的ram,直到它因错误而崩溃。我正在针对我的本地SQL2008R264位实例运行。该包在BIDS中配置为以64

c# - XPath - 选择两个节点之间的第一组兄弟节点

我在C#中使用XPath查询一些HTML文件时遇到了一个小问题。好的,首先这是一个示例HTML:AB12345CD6789101112131415EF16171819202122现在,我要做的是仅获取B和C节点(1,2,3,4,5,)之间的那些元素。到目前为止,这是我尝试过的:usingSystem;usingSystem.Xml.XPath;namespaceTest{classTest{staticvoidMain(string[]args){XPathDocumentdoc=newXPathDocument("Test.xml");XPathNavigatornav=doc.Cr