2013-03-20 4 views
1

Вот мой вопрос: у меня есть дата в моей базе данных sqlite. То, что я хочу сделать, это следующее:Sqlite: конвертировать дату в день число в месяц

SELECT dates FROM Table1 WHERE dates > date('now','-1 month'); 

Результат:

2013-02-21 12:04:22 
2013-02-28 12:04:22 
2013-02-01 12:04:22 

Как я могу преобразовать эти даты как:

2013-02-21 12:04:22 become 2 (day 2 of the month) 
2013-02-28 12:04:22 become 9 (day 9 of the month) 
2013-03-01 12:04:22 become 10(day 10 of the month) 

Спасибо заранее

+0

Где эти цифры 2,9,10 пришли? Я не вижу связи с датами. –

+0

Сейчас (20/03/2013) - 1 месяц ==> 20/02/2013 В этот период (с 20/02/2013 по 20/03/2013) 2013-02-21 соответствует второму дню на этом период (день 2), 2013-02-28 соответствует 9-му дню этого периода, ... – user2121458

ответ

3

попытка

select julianday(dates) - julianday(date('now','-1 month')) + 1 
from table1 
where dates > date('now','-1 month') 
+0

При этом первое свидание (2013-02-21 12:04:22) станет 2,50303! Почти идеально :) Как я могу сохранить только целую часть (сохранить 2 и сбросить 0,50303)? – user2121458

0
select cast((julianday(dates) - julianday(date('now','-1 month')) + 1)as int) 
from table1 
where dates > date('now','-1 month') 

держать только целую часть :) Большое спасибо

Анатолии
Смежные вопросы