回答編集履歴
5
推敲
answer
CHANGED
@@ -45,4 +45,4 @@
|
|
45
45
|
```
|
46
46
|
> 元の文字列は「2021040112000012345678」のような22桁の文字列です。
|
47
47
|
|
48
|
-
という事なので、桁数的に不明な部分がありますので、20桁が’YYYYMMDDHH24MISSUS’だとして、必要な桁のみをsubstrでピックアップする
|
48
|
+
という事なので、桁数的に不明な部分がありますので、20桁が’YYYYMMDDHH24MISSUS’だとして、必要な桁のみをsubstrでピックアップする事にしています。
|
4
推敲
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
取り敢えず条件部分はわざとコメントにしていますので、適宜利用して下さい。
|
17
17
|
```SQL
|
18
|
-
select active_date, active_day,
|
18
|
+
select active_date, active_day, active_timezone, count(*) as cnt
|
19
19
|
from (
|
20
20
|
select *
|
21
21
|
, to_date(substr(active, 1, 8), 'YYYYMMDDHH') AS active_date -- 日付
|
@@ -26,7 +26,7 @@
|
|
26
26
|
when 1 then '06-12'
|
27
27
|
when 2 then '12-18'
|
28
28
|
when 3 then '18-24'
|
29
|
-
end AS
|
29
|
+
end AS active_timezone -- 時間帯
|
30
30
|
, to_timestamp(substr(active, 1, 20), 'YYYYMMDDHH24MISSUS') AS active_timestamp -- タイムスタンプ
|
31
31
|
from (values
|
32
32
|
(1,'2021040112000000000000')
|
@@ -40,8 +40,8 @@
|
|
40
40
|
and active_day in ('月','木','土')
|
41
41
|
and active_time between '12:00:00' AND '17:59:59'
|
42
42
|
*/
|
43
|
-
group by active_date, active_day,
|
43
|
+
group by active_date, active_day, active_timezone
|
44
|
-
order by active_date,
|
44
|
+
order by active_date, active_timezone
|
45
45
|
```
|
46
46
|
> 元の文字列は「2021040112000012345678」のような22桁の文字列です。
|
47
47
|
|
3
推敲
answer
CHANGED
@@ -41,6 +41,7 @@
|
|
41
41
|
and active_time between '12:00:00' AND '17:59:59'
|
42
42
|
*/
|
43
43
|
group by active_date, active_day, active_timerange
|
44
|
+
order by active_date, active_timerange
|
44
45
|
```
|
45
46
|
> 元の文字列は「2021040112000012345678」のような22桁の文字列です。
|
46
47
|
|
2
推敲
answer
CHANGED
@@ -22,8 +22,8 @@
|
|
22
22
|
, to_char(to_date(substr(active, 1, 8), 'YYYYMMDDHH'), 'TMDy') AS active_day -- 曜日
|
23
23
|
, to_char(substr(active, 9, 6)::integer,'FM00:00:00')::time AS active_time -- 時間
|
24
24
|
, case substr(active, 9, 2)::integer / 6
|
25
|
-
when 0 then '
|
25
|
+
when 0 then '00-06'
|
26
|
-
when 1 then '
|
26
|
+
when 1 then '06-12'
|
27
27
|
when 2 then '12-18'
|
28
28
|
when 3 then '18-24'
|
29
29
|
end AS active_timerange -- 時間帯
|
1
推敲
answer
CHANGED
@@ -35,9 +35,11 @@
|
|
35
35
|
,(4,'2021040516000000000000')
|
36
36
|
) as hoge_db(no, active)
|
37
37
|
) edit
|
38
|
+
/*
|
38
39
|
where active_date between '2021/04/01' and '2021/04/05'
|
39
40
|
and active_day in ('月','木','土')
|
40
41
|
and active_time between '12:00:00' AND '17:59:59'
|
42
|
+
*/
|
41
43
|
group by active_date, active_day, active_timerange
|
42
44
|
```
|
43
45
|
> 元の文字列は「2021040112000012345678」のような22桁の文字列です。
|