Функция MONTH
Функция MONTH извлекает номер месяца из даты. Дата может быть в формате date или datetime.
Синтаксис
SELECT MONTH(дата) FROM имя_таблицы WHERE условие
Таблицы для примеров
| id айди |
name имя |
date дата рождения |
|---|---|---|
| 1 | user1 | 1988-03-01 |
| 2 | user2 | 1989-04-02 |
| 3 | user3 | 1990-05-03 |
Пример
В данном примере при выборке из таблицы из даты извлекается номер месяца:
SELECT *, MONTH(date) as month FROM users
Результат выполнения кода:
| id айди |
name имя |
date дата |
month месяц |
|---|---|---|---|
| 1 | user1 | 1988-03-01 | 3 |
| 2 | user2 | 1989-04-02 | 4 |
| 3 | user3 | 1990-05-03 | 5 |
Смотрите также
- функцию MONTHNAME ,
которая возвращает название месяца по-английски - функцию DAY ,
которая извлекает день из даты - функцию YEAR ,
которая извлекает год из даты - функцию DATE ,
которая извлекает дату из даты-времени
MONTH (Transact-SQL)
Возвращает целое число, представляющее месяц указанной даты date.
Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).
Синтаксис
MONTH ( date )
Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.
Аргументы
date
Выражение, которое можно привести к значению типа time, date, smalldatetime, datetime, datetime2 или datetimeoffset. Аргумент date может быть выражением, выражением столбца, определяемой пользователем переменной или строковым литералом.
Тип возвращаемых данных
int
Возвращаемое значение
Функция MONTH возвращает то же значение, что и функция DATEPART (month, date).
Если дата date содержит только компонент времени, возвращаемое значение равно 1, базовому месяцу.
Примеры
Следующая инструкция возвращает значение 4 . Порядковый номер месяца.
SELECT MONTH('2007-04-30T01:01:01.1234567 -07:00');
Следующая инструкция возвращает значение 1900, 1, 1 . В качестве значения аргумента date задается число 0 . SQL Server интерпретирует 0 как 1 января 1900 г.
SELECT YEAR(0), MONTH(0), DAY(0);
Примеры: Azure Synapse Analytics и Система платформы аналитики (PDW)
В приведенном ниже примере возвращается 4 . Порядковый номер месяца.
-- Uses AdventureWorks SELECT TOP 1 MONTH('2007-04-30T01:01:01.1234') FROM dbo.DimCustomer;
В приведенном ниже примере возвращается 1900, 1, 1 . В качестве значения аргумента date задается число 0 . SQL Server интерпретирует 0 как 1 января 1900 г.
-- Uses AdventureWorks SELECT TOP 1 YEAR(0), MONTH(0), DAY(0) FROM dbo.DimCustomer;
Вывод из даты только месяца и года
Запрос на вывод только года из даты SQL
Ребята, такая ситуация, нужно сделать запрос на вывод номера договоров за 2010 год select.
Функция определения даты месяца и года
Доброго, пишу программку для локальных компьютеров в общем задача такова, каждый месяц в.
Формат Даты в виде месяца и года
Добрый день. Возник вопрос, как сделать так чтобы поле тип дата на форме было вот такого вида.
Определение даты и месяца високосного года
Дана переменная k – порядковый номер некоторого дня високосного года (начало года – 1 января.
Данные за текущий месяц, текущую неделю, предыдущий месяц
Где названия таблиц, полей, где ваши пробные запросы. Пока на ваш вопрос ответ один — написать mysql запрос!
8 авг 2013 в 10:12
Зачем всё это? Проще написать: . WHERE MONTH( date ) = MONTH(NOW()) AND YEAR( date ) = YEAR(NOW())
8 авг 2013 в 10:26
Кстати, это выводятся данные за текущий месяц.
8 авг 2013 в 10:27
А если . WHERE WEEK(‘date’) = WEEK(NOW()) AND MONTH( date ) = MONTH(NOW()) AND YEAR( date ) = YEAR(NOW()) не работает? Такой оператор как бы тоже [имеется][1] [1]: dev.mysql.com/doc/refman/5.0/en/…
8 авг 2013 в 10:56
А за прошлый месяц: . WHERE MONTH( date ) = MONTH(NOW())-1 AND YEAR( date ) = YEAR(NOW()) правда могут быть проблемы с январем.
8 авг 2013 в 10:59
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Нашел информацию:
Данные за текущий месяц
. WHERE MONTH(`date`) = MONTH(NOW()) AND YEAR(`date`) = YEAR(NOW())
Данные за текущую неделю
. WHERE YEAR(`date`) = YEAR(NOW()) AND WEEK(`date`, 1) = WEEK(NOW(), 1)
Данные за предыдущий месяц
. WHERE MONTH(`date`) = MONTH(DATE_ADD(NOW(), INTERVAL -1 MONTH)) AND YEAR(`date`) = YEAR(NOW())
Отслеживать
ответ дан 8 авг 2013 в 12:47
alekseidolganov alekseidolganov
935 3 3 золотых знака 9 9 серебряных знаков 19 19 бронзовых знаков
С данными за предыдущий месяц будут проблемы, если текущий месяц январь, лучше так:
. WHERE MONTH(`date`) = MONTH(DATE_ADD(NOW(), INTERVAL -1 MONTH)) and YEAR(`date`) = YEAR(DATE_ADD(NOW(), INTERVAL -1 MONTH))
Отслеживать
ответ дан 22 янв 2021 в 3:05
Дмитрий Усенко Дмитрий Усенко
21 1 1 бронзовый знак
- дата
- mysql
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
