我可以使用函数here从我的表中获取Yearly和Daily,星期几数据。 但我需要方法来实现Quaterly和Weekly中的两种类型的函数,就像SQL Offers中的DatePart一样。建议任何实现它的方法。
答案 0 :(得分:1)
在您链接到的同一页面上提到了函数UTC_USEC_TO_WEEK。这将帮助您获得工作日。
对于季度,这样的查询可能有用......
select INTEGER(INTEGER(SUBSTR(date_time, -14, 2))/3) AS QUARTER, count(date_time) as count
from company.summary GROUP BY QUARTER
我将日期时间字符串作为年 - 月 - 日+时间格式,如...
2012-07-01 23:59:59
答案 1 :(得分:1)
尝试使用此
EXTRACT(QUARTER FROM date)作为季度
答案 2 :(得分:0)
您可以使用%{m}格式的STRFTIME_UTC_USEC(timestamp_usec,'date_format_str')
来接收月份(1-12)和if语句。一个例子是:
IF(STRFTIME_UTC_USEC(timestamp_usec,'%m')IN(1,2,3),'Q1',IF(STRFTIME_UTC_USEC(timestamp_usec,'%m')IN(4,5,6),'Q2' ,IF(STRFTIME_UTC_USEC(timestamp_usec,'%m')IN(7,8,9),'Q3','Q4')))
答案 3 :(得分:0)
CASE
WHEN EXTRACT(MONTH FROM date) BETWEEN 7 AND 9 THEN 'Q1'
WHEN EXTRACT(MONTH FROM date) BETWEEN 10 AND 12 THEN 'Q2'
WHEN EXTRACT(MONTH FROM date) BETWEEN 1 AND 3 THEN 'Q3'
WHEN EXTRACT(MONTH FROM date) BETWEEN 4 AND 6 THEN 'Q4'
END AS quarter