在SQL Server 2005中读取XML属性的值

时间:2010-10-19 05:14:40

标签: sql-server xml tsql

我有一个表包含名为source with varchar(max)的字段。

该字段具有以下值

<OutPatientMedication 
      DateFormat="MM-dd-yyyy" 
      MedicationName="lisinopril 10 mg oral tablet" 
      Instructions="2 cap(s) orally once a day " 
      Status="Active" 
      Quantity="0" 
      Refills="0" 
      PrescriptionType="E">
</OutPatientMedication>

现在我想获取Instructions属性的值。

我如何获取值?

我们将非常感谢您的回复。

谢谢, Dhruval Shah

1 个答案:

答案 0 :(得分:3)

尝试这样的事情:

SELECT
    CAST(Source AS XML).value('(/OutPatientMedication/@Instructions)[1]', 'varchar(200)')
FROM
    dbo.YourTable
WHERE
    (condition)

这应该会给你想要的价值。

如果你真的只有该列中的XML,我强烈建议在数据库中使用类型XML!使您的生活更轻松,并节省磁盘空间。