草庐IT

sql - 将 xml 列中的数据插入临时表

我有一个看起来像的xml列SET@XMLData='10001-01-01T00:00:00deesc'我需要将XML中的数据插入到临时表中。here为此,我使用了以下代码。但它不起作用,也没有将任何数据插入临时表。--VariablesDeclerationDECLARE@XMLDataVARCHAR(MAX)DECLARE@idocINT--CreatingTemporaryTableCREATETABLE#TEMP_TABLE(REC_IDINTIDENTITY(1,1),[Id]INT,[Date]VARCHAR(50),[Number]VARCHAR(50),);--Case

c# - XPATH 查询以从存储在 SQL Server 数据库列中的 XML 中获取数据

我将XML数据存储在SQLServer数据库中的一列中。Piston1.2PistonRing2Piston1.5有没有一种方法可以获得以下格式的结果?------------------------------Product|Count------------------------------Piston|2PistonRing|1------------------------------我尝试使用Xpath进行计数,但不确定是否可以按产品分组然后进行计数。我正在寻找类似(在SQL查询中)的东西SELECTProduct,Count(Product)FROMABCGROUPBYP

sql-server - 如何从 SQL 中的 xml 列中获取元素的所有值

我在sql中有以下xml列:Createtabledbo.sampleXML(IDintidentity(1,1)primarykey,Namechar(10)notnull,contentxmlnull)goinsertintodbo.sampleXML(Name,content)values('ss',CAST('ssnnMale31'asxml))insertintodbo.sampleXML(Name,content)values('xx',CAST('xxyyMale3insertintodbo.sampleXML(Name,content)values('dd',CAST(

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

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

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 - 将两级 XML 列表中的值提取到 SQL 列中

我有一个SQLServer2008数据库,我从不同的表中提取多个值以放入单个表中。在这些值中有一些数据是从XML中提取的,直到最近才存储在单个级别上,如下所示:Name1Value1Name2Value2Name3Value3Name4Value4我将使用以下方法提取必要的信息:SELECTName=IXML.value('(./Name)[1]','varchar(20)'),Value=IXML.value('(./Value)[1]','varchar(20)')INTOdbo.newTableFROMdbo.oldTableCROSSAPPLYoldTable.InfoXML.

sql - 如何在 SQL Server 中的 xml 列中查询 xml 值

我在名为“AlgorithmLog”的表的[XMLValue]列中有类似以下代码的内容:0Default...<?xmlversion="1.0"?><intxmlns="http://schemas.microsoft.com/2003/10/Serialization/">1900</int>我想在节点中获取值“1900”所以这是我的查询:WITHXMLNAMESPACES('http://schemas.datacontract.org/2004/07/Adapters.Adapter'ASx,'http://schemas.datacontr

sql-server - 可以提取存储在 XML 中的列中的 *distinct* 键(跨所有行)吗?

我有一个包含列的[users]表:[id]int[userdetails]nvarchar(max)[userdetails]包含如下数据:每一行可以包含不同的键/值元素组合。在查询中,我想提取所有不同(跨所有行)KEY值的列表。这甚至可能吗?我之前问过类似的问题:https://stackoverflow.com/a/50281264/8678从上面查询特定元素的语法是这样的:declare@tbltable(idint,userdetailsnvarchar(max))insert@tbl(id,userdetails)values(1,'');withtblas(selectid

SQL 从包含 xml 的 nvarchar 列中透视动态列

我得到了一个包含以下列和一些示例数据的表格:IDTitleFieldsXml[nvarchar(max)]--------------------------------1Ax1y12By2z23Cz3我需要查询它以获得这样的结果:IDTitleXYZ-------------1Ax1y12By2z23Cz3xml字段应该保证格式正确并且与模式匹配,即使它是nvarchar而不是xml类型。但是,无法提前知道Name属性的值。我正在使用SQLServer2008。如有必要,我可以使用存储过程,但我正在寻找一种可以避免这种情况并避免动态SQL的解决方案。写这样的查询是不可能的吗?如果存储

c# - 在 UTF16 列中存储 UTF8 数据

我将XML存储在SQLServer的XML列中。SQLServer在内部以UTF-16格式存储数据。因此,存储的XML必须采用UTF-16。我的XML是utf-8格式的,它在顶部有这个声明:当我尝试插入带有UTF-8声明的xml时,我收到一个异常,说明有关编码的内容。我可以通过两种方式轻松解决此问题:删除声明或通过将声明更改为:问题我不知道删除或替换声明是否“安全”或正确。我会丢失数据,还是XML会损坏?或者我是否必须将C#中的字符串从utf-8转换为utf-16? 最佳答案 C#将字符串存储在UCS-2中,这是UTF-16标准的旧