Поскольку MySQL отличается большим разнообразием календарных и временных типов данных, неудивительно, что в этой СУБД предусмотрено немало функций для обработки календарных и временных значений. Набор функций, предназначенных для обработки дат и времени, имеющихся в арсенале MySQL, гораздо более разнообразен, чем в любой другой реляционной СУБД. Перечень наиболее часто используемых функций даты и времени MySQL приводится в табл. 7.4.
Как всегда, начнем с самого простейшего - с получения текущей даты и времени. Это можно сделать с помощью функции NOW() , возвращающей текущую дату и время в формате YYYY-MM-DD HH:MM:SS.
Функции CURTIME() и CURDATE() являются более специализированными вариантами функции NOW() , возвращая только текущую дату или текущее время.
Временные метки UNIX (количество секунд, прошедших с 1970-01-01, 00:00:00 до заданного момента времени) можно получить с помощью функции UNIX_TIMESTAMP(). Если аргумент не задан, временная метка возвращается относительно текущей даты, а если аргумент указан, то временная метка задается относительно этой даты.
Кроме функций анализа и обработки значений даты и времени, MySQL также имеет в своем арсенале функции, предназначенные для выполнения вычислений с использованием даты и времени. Важнейшими из них являются функции DATE_ADD() и DATE_ SUB() , предназначенные для прибавления и вычитания значений даты соответственно.
Первым аргументом этих функций является начальная дата, представленная в формате YYYY-MM-DD HH:MM:SS или в формате YYYYMMDDHHMMSS. Второй аргумент состоит из трех составляющих: ключевого слова INTERVAL, значения интервала, которое будет суммироваться или вычитаться из начальной даты, и ключевого слова, отображающего формат представления интервала. Значение интервала и следующие за ним ключевые слова должны соответствовать значениям, представленным в табл. 7.5.
Объясним это на простых примерах. Первый пример прибавляет шесть (INTERVAL 6 MONTH) месяцев к дате и возвращает результат.
Следующий пример прибавляет 12 дней, 3 часа и 45 минут к строковому значению и отображает полученный результат в виде временной метки.
Эта функция может очень пригодиться при необходимости вычислить интервал между двумя датами. Для того чтобы проиллюстрировать это, рассмотрим следующий простой пример таблицы, содержащей имена пользователей и даты их рождения.
А вот еще один пример - база данных видеотеки, содержащая перечень абонентов, названия арендованных ими кинофильмов и даты, когда эти фильмы были выданы и возвращены.
Предположим, что максимальный срок, который кассета может находиться у абонента, составляет 4 дня. Таким образом, можно определить, кто из абонентов задержал у себя кассету больше допустимого срока (и кому из них придется заплатить за это штраф).
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Функции даты и времени
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Агрегатные функции | Все о MySQL. Функции кодировки |