Чтение онлайн

на главную

Жанры

MySQL 5.0. Библиотека программиста

Гольцман Виктор

Шрифт:

• MONTH(\'<Дата или дата и время>\').

Функция MONTH получает в качестве аргумента дату или дату и время и возвращает номер месяца, которому принадлежит эта дата. Например, MONTH(\'2007-12-12\') возвращает значение 12.

• QUARTER(\'<Дата или дата и время>\').

Функция QUARTER получает в качестве аргумента дату или дату и время и возвращает номер квартала, которому принадлежит эта дата. Например, QUARTER(\'2007-12-12\') возвращает значение 4.

• YEAR(\'<Дата или дата и время>\').

Функция YEAR получает в

качестве аргумента дату или дату и время и возвращает номер года, которому принадлежит эта дата. Например, YEAR(\'2007-12–12\') возвращает значение 2007.

• YEARWEEK(\'<Дата или дата и время>\' [,Правило нумерации]).

Функция YEARWEEK получает в качестве аргумента дату или дату и время и возвращает номер года и номер недели в году в формате YYYYWW. По умолчанию неделя считается начинающейся с воскресенья, и первой неделей считается та неделя, воскресенье которой принадлежит данному году, а дни, предшествующие первой неделе, считаются относящимися к последней неделе предыдущего года. Например, YEARWEEK(\'2007-12-31\') = YEARWEEK(\'2008-01-01\') = 200752, и это означает, что обе даты относятся к 52-й неделе 2007 г.

Вы можете также задать параметр, определяющий правило нумерации недель. Этот параметр аналогичен соответствующему параметру функции WEEK, о которой мы рассказывали выше, однако для тех дат, для которых функция WEEK возвращает значение 0, функция YEARWEEK возвращает номер предыдущего года и номер последней недели предыдущего года. Например, WEEK(\'2008-01-01\',5) = 200753.

• HOUR(\'<Время или дата и время>\').

Функция HOUR получает в качестве аргумента время или дату и время и выделяет из нее часы. Например, HOUR(\'12:30:00\') возвращает значение 12.

• MINUТЕ(\'<Время или дата и время>\').

Функция MINUTE получает в качестве аргумента время или дату и время и выделяет из нее минуты. Например, MINUTE(\'12:30:00\') возвращает значение 30.

• SECOND(\'<Время или дата и время>\').

Функция SECOND получает в качестве аргумента время или дату и время и выделяет из нее секунды. Например, SECOND(\'12:30:00\') возвращает значение 0.

• EXTRACT(\'<Наименование периода>\' FROM \'<Дата и/или время>\'). Функция EXTRACT – наиболее общая из функций получения компонентов даты и времени. Первым ее аргументом является наименование компонента или диапазона компонентов, которые нужно выделить из даты:

• DAY – число (номер дня в месяце);

• WEEK – номер недели в году;

• MONTH – номер месяца;

• QUARTER – номер квартала;

• YEAR – номер года;

• HOUR – часы;

• MINUTE – минуты;

• SECOND – секунды;

• YEAR_MONTH – номер года и номер месяца;

• DAY_HOUR – число и часы;

• DAY_MINUTE – число, часы и минуты;

• DAY_SECOND – число, часы, минуты и секунды;

• HOUR_MINUTE – часы и минуты;

• HOUR_SECOND – часы, минуты и секунды;

• MINUTE_SECOND – минуты и секунды.

Вторым аргументом функции может быть дата и время, а также, в

зависимости от извлекаемого компонента, либо дата, либо время.

Например, EXTRACT(WEEK FROM \'2007-12-31\') возвращает, как и WEEK(\'2007-12–31\'), значение 52, а EXTRACT(DAY_MINUTE FROM \'2007-12-31 12:30:00\') возвращает значение 311230 (31 число, 12 часов и 30 минут).

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

Функции сложения и вычитания дат

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

• ADDDATE(\'<Дата или дата и время>\',<Количество дней>) или ADDDATE(\'<Дата или дата и время>\',<Временной интервал>). Функция возвращает дату или дату и время, сдвинутые относительно указанной даты на указанное количество дней или на указанный временной интервал. Для задания интервала можно использовать один из следующих основных форматов:

• INTERVAL \'<Количество секунд>\' SECOND

• INTERVAL \'<Количество минут>\' MINUTE

• INTERVAL \'<Количество часов>\' HOUR

• INTERVAL \'<Количество дней>\' DAY

• INTERVAL \'<Количество недель>\' WEEK

• INTERVAL \'<Количество месяцев>\' MONTH

• INTERVAL \'<Количество кварталов>\' QUARTER

• INTERVAL \'<Количество лет>\' YEAR

• INTERVAL \'<Количество минут>:<Количество секунд>\' MINUTE_SECOND

• INTERVAL \'<Количество часов>:<Количество минут>:<Количество секунд>\' HOUR_SECOND

• INTERVAL \'<Количество часов>:<Количество минут>\' HOUR_MINUTE

• INTERVAL \'<Количество дней> <Количество часов>:<Количество минут>:<Количество секунд>\' DAY SECOND

• INTERVAL \'<Количество дней> <Количество часов>:<Количество минут>\' DAY_MINUTE

• INTERVAL \'<Количество дней> <Количество часов>\' DAY_HOUR

• INTERVAL \'<Количество лет>-<Количество месяцев>\' YEAR MONTH

Например, функция ADDDATE(\'2007-12-12\',28) добавляет 28 дней к 12 декабря 2007 г. и возвращает результат 2008-01-09, а функция ADDDATE(\'2007-12-12\',INTERVAL \'28 12:30\' DAY_MINUTE) добавляет 28 дней, 12 часов и 30 минут к 12 декабря 2007 г. и возвращает результат 2008-01-09 12:30:00.

• DATE_ADD(\'<Дата или дата и время>\',\'<Временной интервал>\').

Синоним ADDDATE(\'<Дата или дата и время>\',\'<Временной интервал>\').

• ADDTIME(<Время или дата и время>,<Добавляемое время>).

Функция возвращает сумму своих аргументов. Например, функция ADDTIME (\'2007-12-12 12:30:00\',\'15:50:00\') добавляет 15 часов 50 минут к 12 часам 30 минутам 12 декабря 2007 г. и возвращает результат 2007-12-13 04:20:00.

• SUBDATE(\'<Дата или дата и время>\',<Количество дней>) или SUBDATE(\'<Дата или дата и время>\',\'<Временной интервал>\').

Поделиться:
Популярные книги

Идеальный мир для Лекаря 6

Сапфир Олег
6. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 6

Санек 2

Седой Василий
2. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 2

Первый среди равных

Бор Жорж
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Не отпускаю

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
8.44
рейтинг книги
Не отпускаю

Вечный. Книга VI

Рокотов Алексей
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Вечный. Книга VI

Идеальный мир для Социопата 7

Сапфир Олег
7. Социопат
Фантастика:
боевая фантастика
6.22
рейтинг книги
Идеальный мир для Социопата 7

Вираж бытия

Ланцов Михаил Алексеевич
1. Фрунзе
Фантастика:
героическая фантастика
попаданцы
альтернативная история
6.86
рейтинг книги
Вираж бытия

Жена проклятого некроманта

Рахманова Диана
Фантастика:
фэнтези
6.60
рейтинг книги
Жена проклятого некроманта

Солдат Империи

Земляной Андрей Борисович
1. Страж
Фантастика:
попаданцы
альтернативная история
6.67
рейтинг книги
Солдат Империи

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

Ваше Сиятельство 3

Моури Эрли
3. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 3

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Дикая фиалка Юга

Шах Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Дикая фиалка Юга