2013-03-20 49 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从何而来?我看不出与日期有关。 – 2013-03-20 12:07:05

+0

现在(2013年3月20日) - 1个月==> 20/02/2013 在此期间(2013年2月20日至2013年3月20日)2013-02-21第二天对应于此期间(第2天),2013-02-28这一期间的第9天的对应,... – user2121458 2013-03-20 12:27:41

回答

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 2013-03-20 17:04:31

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

只保留整数部分:)感谢很多AnatolyS