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

时间:2016-08-27 12:11:29

标签: sql sql-server xml sql-server-2008

我想在SQl Server中更新XML Node的单个值

以下是表格结构

enter image description here

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>

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

1 个答案:

答案 0 :(得分:4)

您想使用replace value of...with个关键字:

尝试以下内容:

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