这是我用逗号分隔形式的表格:
date, number
2010-09-02, 2
2010-10-01, 3
2011-01-01, 4
2011-02-01, 5
2011-03-01, 6
2011-05-05, 7
在SQLite的语法中似乎没有'quarter'日期时间函数,所以我想知道是否有解决方法。
答案 0 :(得分:4)
(cast(strftime('%m', date) as integer) + 2) / 3 as quarter
答案 1 :(得分:2)
CASE
WHEN cast(strftime('%m', date) as integer) BETWEEN 1 AND 3 THEN 1
WHEN cast(strftime('%m', date) as integer) BETWEEN 4 and 6 THEN 2
WHEN cast(strftime('%m', date) as integer) BETWEEN 7 and 9 THEN 3
ELSE 4 END as Quarter
答案 2 :(得分:0)
抱歉,举个例子。
select month, (((3-(month%3))%3)+month)/3 as 'qtr' from months
会给我们:
1 1
2 1
3 1
4 2
5 2
6 2
7 3
8 3
9 3
10 4
11 4
12 4
答案 3 :(得分:-1)
如何使用一些模数来解决它。
(((3-(month%3))%3)+month)/3
月份是1-12之间的数字列
基本上我只是将事情四舍五入到最接近的3,然后将其潜水3。