Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лекции / Lect4-05.doc
Скачиваний:
6
Добавлен:
12.05.2015
Размер:
645.12 Кб
Скачать

5.1.1.4.5.2. Функции извлечения компонент

В XPath и XQuery для извлечения компонент из данных продолжительности, дат и времени определены следующие функции:

  • fn:years-from-duration($arg as xs:duration?) as xs:integer?– возвращает количество лет в продолжительности;

  • fn:months-from-duration($arg as xs:duration?) as xs:integer?– возвращает количество месяцев в продолжительности;

  • fn:days-from-duration($arg as xs:duration?) as xs:integer?– возвращает количество дней в продолжительности;

  • fn:hours-from-duration($arg as xs:duration?) as xs:integer?– возвращает количество часов в продолжительности;

  • fn:minutes-from-duration($arg as xs:duration?) as xs:integer?

  • fn:seconds-from-duration($arg as xs:duration?) as xs:decimal?– возвращает количество минут в продолжительности;

  • fn:year-from-dateTime($arg as xs:dateTime?) as xs:integer?– возвращает значение года в дате и времени;

  • fn:month-from-dateTime($arg as xs:dateTime?) as xs:integer?– возвращает значение индекса месяца в дате и времени;

  • fn:day-from-dateTime($arg as xs:dateTime?) as xs:integer?– возвращает значение дня месяца в дате и времени;

  • fn:hours-from-dateTime($arg as xs:dateTime?) as xs:integer?– возвращает значение количества часов в дате и времени;

  • fn:minutes-from-dateTime($arg as xs:dateTime?) as xs:integer?– возвращает значение количества минут в дате и времени;

  • fn:seconds-from-dateTime($arg as xs:dateTime?) as xs:decimal?– возвращает значение количества секунд в дате и времени;

  • fn:timezone-from-dateTime($arg as xs:dateTime?) as xs:dayTimeDuration?– возвращает значение смещения временной зоны в дате и времени;

  • fn:year-from-date($arg as xs:date?) as xs:integer?– возвращает значение года в дате;

  • fn:month-from-date($arg as xs:date?) as xs:integer?– возвращает значение индекса месяца в дате;

  • fn:day-from-date($arg as xs:date?) as xs:integer?– возвращает значение дня месяца в дате;

  • fn:timezone-from-date($arg as xs:date?) as xs:dayTimeDuration?– возвращает значение для временной зоны в дате;

  • fn:hours-from-time($arg as xs:time?) as xs:integer?– возвращает значение часов для времени;

  • fn:minutes-from-time($arg as xs:time?) as xs:integer?– возвращает значение минут для времени;

  • fn:seconds-from-time($arg as xs:time?) as xs:decimal?– возвращает значение секунд для времени;

  • fn:timezone-from-time($arg as xs:time?) as xs:dayTimeDuration?– возвращает значение временной зоны для времени.

Примеры использования функций извлечения компонент для продолжительности, дат и времени:

1. fn:years-from-duration(xs:yearMonthDuration("P20Y10M"))

возвращает 20.

2. fn:months-from-duration(xs:yearMonthDuration("P20Y10M"))

возвращает 10.

3. fn:days-from-duration(

xs:dayTimeDuration("P12DT11H15M30S")) – возвращает 12.

4. fn:hours-from-duration(

xs:dayTimeDuration("P12DT10H15M30S")) – возвращает11.

5. fn:minutes-from-duration(

xs:dayTimeDuration("P12DT10H15M30S")) – возвращает15.

6. fn:seconds-from-duration(

xs:dayTimeDuration("P12DT10H15M30S")) – возвращает 30.

7. fn:year-from-dateTime(

xs:dateTime("2007-11-18T13:20:00+02:00")) – возвращает 2007.

8. fn:minutes-from-dateTime(

xs:dateTime("2007-11-18T13:20:00+02:00")) – возвращает 20.

9. fn:timezone-from-dateTime(

xs:dateTime("2007-11-18T13:20:00+02:00")) – возвращает PT2H.

10. fn:year-from-date(xs:date("2006-01-01")) – возвращает 2006.

11. fn:day-from-date(xs:date("2006-01-01")) – возвращает 1.

12. fn:timezone-from-date(xs:date("2006-01-01-02:00")) – возвращает -PT2H.

13. fn:hours-from-time(xs:time("02:00:12")) – возвращает 2.

14. fn:seconds-from-time(xs:time("02:00:12")) – возвращает 12.

15. fn:timezone-from-time(xs:time("02:00:12+02:00")) – возвращает PT2H.

Соседние файлы в папке Лекции