Преобразование значения в XML-формат (XML)

Функция

Преобразование значения в XML-формат.

Спецификация
 
<​синтаксис​>::=
Возвращаемое значение
  1. Значение <​элемента​> в XML-формате, т.е. в обрамлении тега, имя которого совпадает, по возможности, с <​идентификатором столбца​>.

  2. Тип возвращаемого значения – VARCHAR(n), где n – сумма длин тегов и максимальных длин текстовых преобразований полей.

    select xml(make, model, year) from auto;
    |<​MAKE​>FORD<​/MAKE​>           |<​MODEL​>MERCURY COMET GT V8<​/MODEL​>|<​YEAR​>71<​/YEAR​>|
    |<​MAKE​>ALPINE<​/MAKE​>         |<​MODEL​>A-310<​/MODEL​>              |<​YEAR​>70<​/YEAR​>|
    |<​MAKE​>AMERICAN MOTORS<​/MAKE​>|<​MODEL​>MATADOR STATION<​/MODEL​>    |<​YEAR​>71<​/YEAR​>|
    …
  3. Если аргументы функции содержит литералы, выражения, повторяющиеся имена столбцов либо столбцы с не алфавитно-цифровыми именами, то вместо проблемных имен выводятся имена в формате «COLUMN_NUMBER_nnn».

    select xml(sysdate, to_char(34.7,'99.9'));
    |<​COLUMN_NUMBER_1​>20.06.2005:10:57:54:00<​/COLUMN_NUMBER_1​>|<​COLUMN_NUMBER_2​>34.7<​/COLUMN_NUMBER_2​>|
  4. Если аргумент функции имеет NULL-значение, то для него возвращаемое значение не формируется.

    select xml(make, null, make) from auto fetch first 1;
    |<​MAKE​>FORD<​/MAKE​>|<​COLUMN_NUMBER_3​>FORD<​/COLUMN_NUMBER_3​>|
  5. <​Элемент​> может быть задан <​SQL-параметром​>, который должен содержать спецификацию типа данных параметра.

    select xml(? (char(20)), ?(char(20)))from auto limit 1;
    make
    year
    
    |<​COLUMN_NUMBER_1​>make<​/COLUMN_NUMBER_1​>
    <​COLUMN_NUMBER_2​>year<​/COLUMN_NUMBER_2​>|