提问人:Shakeer Hussain 提问时间:9/19/2023 更新时间:9/19/2023 访问量:37
如何在 SQL Server 中获取 xml 列的值
How to get value of xml column in SQL Server
问:
如何获取列的XML值?
SELECT PaymentMethodDetail.value('(/paymentMethodDetail/EFTPaymentDetails/AccountType/text())[0]','varchar(30)') as AccounType,* FROM paymentTable
<PaymentMethodDetail>
<EFTPaymentDetails paymentMethodCode="">
<AccountName>RVQNX BASAD</AccountName>
<AccountType>S</AccountType>
</EFTPaymentDetails>
</PaymentMethodDetail>
它返回 null 值而不是 S
答:
0赞
zip
9/19/2023
#1
试试这个:
CREATE TABLE paymentTable (
PaymentMethodDetail XML
);
INSERT INTO paymentTable (PaymentMethodDetail)
VALUES
('<PaymentMethodDetail>
<EFTPaymentDetails paymentMethodCode="">
<AccountName>RVQNX BASAD</AccountName>
<AccountType>S</AccountType>
</EFTPaymentDetails>
</PaymentMethodDetail>')
SELECT PaymentMethodDetail.value('(/PaymentMethodDetail/EFTPaymentDetails/AccountType/text())[1]', 'varchar(30)') as AccountType, *
FROM paymentTable
将 XPath 表达式中的索引从 [0] 更改为 [1]
评论
0赞
Yitzhak Khabinsky
9/19/2023
没有提供最小的可重现示例。我怎样才能测试你的答案?
评论