Google Bigquery中的季度,每周日期函数

时间:2012-09-17 08:37:41

标签: c#-4.0 google-bigquery

我可以使用函数here从我的表中获取Yearly和Daily,星期几数据。 但我需要方法来实现Quaterly和Weekly中的两种类型的函数,就像SQL Offers中的DatePart一样。建议任何实现它的方法。

4 个答案:

答案 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)

标准SQL

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