Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выражения даты-времени

 

К выражениям даты-времени мы относим выражения, вырабатывающие значения типа дата-время и интервал. Выражения даты-времени определяются следующими синтаксическими правилами:

datetime_value_expression::=
datetime_term
| interval_value_expression + datetime term
| datetime_value_expression + interval term
| datetime value expression - interval term

 

datetime_term::= datetime_primary
[ AT { LOCAL | TIME ZONE interval_value_expression } ]

 

datetime_primary::= value_expression_primary
| datetime_value_function

 

Как видно из описания синтаксиса, сами выражения строятся очень просто – на основе обычных арифметических операций. Снова более интересны первичные составляющие – вызовы функций, возвращающих значение дата-время. Эти вызовы определяются следующим синтаксисом:

 

datetime_value_function::= CURRENT_DATE
| CURRENT_TIME [ (precision) ]
| LOCALTIME [ (precision) ]
| CURRENT_TIMESTAMP [ (precision) ]
| LOCALTIMESTAMP [ (precision) ]

 

Видимо, приведенные синтаксические правила не нуждаются в комментариях: можно получить текущую дату, а также текущее время с желаемой точностью. Отличие функций LOCALTIME и LOCALTIMESTAMP от CURRENT_TIME и CURRENT_TIMESTAMP соответственно состоит в том, что первая пара функций не возвращает смещение локального времени от Гринвича.

 

Синтаксис выражений со значениями типа интервал определяется следующими правилами:

 

interval_value_expression::=
interval_term
| interval_value_expression + interval term
| interval_value_expression - interval term
| (datetime value expression - datetime term)
interval_qualifier

 

interval_term::= interval_factor
| interval_term * numeric_factor
| interval_term / numeric_factor
| numeric_term * interval_factor

 

interval_factor::= [ { + | - } ]
interval_primary [ <interval qualifier> ]

 

interval_primary::= value_expression_primary
| interval_value_function

 

Как видно из приведенных правил, выражения со значениями типа интервал устроены очень просто; почти вся содержательная информация была приведена при обсуждении соответствующего типа данных. Стоит только заметить, что квалификатор интервала указывается для того, чтобы явно специфицировать единицу измерения интервала. Поддерживается только одна функция ABS, аргументом которой является выражение со значением типа интервал.

 

<== предыдущая лекция | следующая лекция ==>
Выражения, значениями которых являются символьные или битовые строки | Выражения с переключателем
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.