3

我可以使用这里的函数从我的表中获取每年和每日、星期几的数据。但是我需要方法来实现另外两种类型的函数 Quaterly 和 Weekly,比如 SQL Offers 中的 DatePart。建议任何实现它的方法。

4

4 回答 4

2

在您链接到的同一页面上提到了函数 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

于 2012-09-17T13:30:13.233 回答
1

尝试使用这个

EXTRACT(QUARTER FROM date) 作为季度

于 2020-07-06T01:08:44.097 回答
0

您可以使用STRFTIME_UTC_USEC(timestamp_usec,'date_format_str')%m 格式来接收月份 (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')))

于 2012-09-17T20:06:19.143 回答
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

于 2020-01-09T09:17:50.687 回答