2015-01-11 5 views
0

Для моего столбца EntryDate я пытался успешно отделить свои данные по месяцам и конкретным именам «2013_04», «2013_05» и т. Д., Поэтому я могу позже также группировать свои данные. Этот код пока не увенчался успехом, как его можно изменить для работы?CASE Заявление между датами

CASE 
WHEN EntryDate BETWEEN '2013-04-01' AND '2013-04-30' THEN '2013_04' 
WHEN EntryDate BETWEEN '2013-05-01' AND '2013-05-31' THEN '2013_05' 
WHEN EntryDate BETWEEN '2013-06-01' AND '2013-06-30' THEN '2013_06' 
END 

спасибо.

+2

Если вы хотите, рассмотрим следующие этой простой двухступенчатой ​​курс действий: 1. Если вы еще не сделали поэтому, обеспечивайте надлежащие DDL (и/или sqlfiddle), чтобы мы могли легче реплицировать проблему. 2. Если вы еще этого не сделали, укажите желаемый набор результатов, соответствующий информации, представленной на шаге 1. – Strawberry

+0

Как это работает? Это в основном работает, но не хватает некоторых записей? –

ответ

0

Я бы использовать year() и month() функции, только потому, что это является общим по базам данных:

CONCAT_WS('_', YEAR(EntryDate), MONTH(EntryDate)) 

Однако DATE_FORMAT() является также хорошее решение.

0

DATE_FORMAT() это лучший вариант, но вы можете использовать различное число, если строка функций и CONVERT

Смежные вопросы