Методы типа данных XML стр. 3 |
|||||||||||||||||||||||||||||||||||
Метод value()Метод value() позволяет извлекать из XML документа содержимое единичного элемента или атрибута с указанием его типа данных. Если выражение XPath указывает на несколько узлов, то будет возвращено сообщение об ошибке. Например,
XQuery [dbo.tArtist.xmlData.value()]: 'value()' requires a singleton (or empty sequence), found operand of type 'xdt:untypedAtomic *' Эта ошибка сообщает, что данное XPath-выражение может вернуть более одной сущности. Например, если бы в исходном XML документе было несколько элементов "albums" или более одного элемента "labels". Чтобы исправить эту ошибку, замените выражение XPath на одно из следующих:
Результат будет одинаковым:
Ещё один пример с типом данных "time". Допустим, мы хотим получить для каждого исполнителя название первого альбома, первой песни из этого альбома и её длительность.
К сожалению, поле "FirstSongLength" распозналось в формате чч:мм:сс, тогда как мы уверены, что в XML-документе время записано в формате мм:сс. Чтобы исправить эту ошибку, можно использовать обычный синтаксис T-SQL, а можно воспользоваться XQuery:
|