使用 SQL Server 更新 XML 列的单个 XML 节点值

Nil*_*are 2 xml sql sql-server sql-server-2008

我想更新 SQL Server 中 XML 节点的单个值

下面是表结构

在此处输入图片说明

XML 结构

<PayDetails>
  <Column Name="FG" DataType="float" Value="7241" />
  <Column Name="SKILL" DataType="float" Value="3" />
  <Column Name="PI" DataType="float" Value="87" />
  <Column Name="MD" DataType="float" Value="30" />
  <Column Name="LD" DataType="float" Value="4" />
  <Column Name="WEEKOFF_DAYS" DataType="float" Value="4" />   
  <Column Name="NETPAY" DataType="float" Value="5389" />    
</PayDetails>
Run Code Online (Sandbox Code Playgroud)

我想将FG 的值从 7241更新到 8000

Jes*_*ood 5

你想关键字替换...的值

尝试类似以下内容:

update tablename
set TransactionFieldDetails.modify(
'replace value of
(/PayDetails/Column[@Name="FG"]/@Value)[1]
with "8000"');
Run Code Online (Sandbox Code Playgroud)