SQLite ORDER BY номер месяца в формате «гггг-мм-дд» - PullRequest
2 голосов
/ 02 ноября 2011

У меня есть таблица со столбцом с именем call_date в формате DATETIME.

В этом столбце у меня есть следующая дата в этом формате yyyy-mm-dd.

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

Есть ли такая функция SQLite, которая это делает ??

Я уже пробовал strftime('%m', call_date), но не работает.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 02 ноября 2011
select * from myTable order by CAST(strftime('%m', call_date) AS INTEGER);
1 голос
/ 02 ноября 2011

Вы можете использовать strftime, чтобы получить номер месяца, а затем заказать по нему:

select ...
from your_table
order by strftime('%m', call_date)
0 голосов
/ 02 ноября 2011

В общем, я бы постарался не упорядочить набор результатов по вычисленному выражению из-за возможного снижения производительности.Я бы использовал альтернативный подход: например, я бы добавил столбец MONTH в таблицу и определил TRIGGER , который установит новое значение столбца.Тогда в запросах вы можете заказать по новому столбцу.

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