Есть ли способ поиска SQL-запроса по номерам месяцев, а не по названию месяца? - PullRequest
1 голос
/ 17 декабря 2008

Я пытаюсь использовать фактическое числовое значение месяца в запросе SQL для получения результатов. Есть ли способ сделать это, не имея функции, чтобы изменить номера на реальные названия месяцев, а затем вернуться к номерам месяцев? Следующий код работает для имен, что работает для чисел?

datename (месяц, (конвертировать (DateTime, DTSTAMP))) = 'Октябрь'

Ответы [ 4 ]

1 голос
/ 17 декабря 2008

month, (convert (datetime, DTSTAMP)) должен это делать, но с какой стати вы не правильно храните данные в качестве даты и времени для начала? Все эти дополнительные средства преобразования для использования дат добавляют ненужную нагрузку на ваш сервер и замедляют работу приложения.

0 голосов
/ 07 марта 2011

здесь вы можете искать с опциями сравнения, такими как:

DATE_SUB (CURDATE (), ИНТЕРВАЛ 0 ДЕНЬ)

DATE_SUB (CURDATE (), ИНТЕРВАЛ 1 МЕСЯЦ)

DATE_SUB (CURDATE (), ИНТЕРВАЛ 1 ГОД)

согласно вашему требованию.

0 голосов
/ 18 декабря 2008

Получает номер месяца с датой

CONVERT (VARCHAR (2), DTSTAMP, 110)

0 голосов
/ 18 декабря 2008

Datepart является альтернативой команде месяца, и она более гибкая, так как вы можете извлечь другие части даты.

DATEPART(mm, convert(datetime,DTSTAMP))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...