Считать значение атрибута XML в SQL Server 2005 - PullRequest
1 голос
/ 19 октября 2010

У меня одна таблица содержит поле с именем source и 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.

Как я могу получить значение?

Быстрый ответ будет оценен.

Спасибо, Дхрувал Шах

1 Ответ

3 голосов
/ 19 октября 2010

Попробуйте что-то вроде этого:

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

Это должно дать вам желаемое значение.

Если у вас действительно есть только XML в этом столбце, я настоятельно рекомендую сделать его типа XML в базе данных! Облегчает вашу жизнь и экономит место на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...