文字列をSQL内のタイムスタンプに変換しようとしています。質問は本当に簡単ですが、この文字列をその日の真夜中に始まるタイムスタンプに変換するにはどうすればよいですか?yyyymmddをBigQueryのタイムスタンプに変換しますか?
私のデータベース内には、timestamp_micros
のいずれかのフィールドが格納されています。これらのいずれかが動作する可能性があります。タイムスタンプに変換すると、文字列よりも簡単になります。例えば
20170118 => timestamp
問合せ:
WITH allTables as (
SELECT
event.date as date,
count(*) as totalSessions,
count(DISTINCT user_dim.app_info.app_instance_id) as uniqueUsers
FROM `namehiddenonlyhere.*`
CROSS JOIN
UNNEST(event_dim) AS event
WHERE
event.name = 'session_start'
AND
event.date <= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
AND
event.date >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY))
GROUP BY event.date
UNION ALL
SELECT
event.date as date,
count(*) as totalSessions,
count(DISTINCT user_dim.app_info.app_instance_id) as uniqueUsers
FROM `namehiddenonlyhere.*`
CROSS JOIN
UNNEST(event_dim) AS event
WHERE
event.name = 'session_start'
AND
event.date <= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY))
AND
event.date >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY))
GROUP BY event.date
) SELECT 'all apps' as target, date as datapoint_time, totalSessions datapoint_value FROM allTables;
'STR_TO_DATE()'関数はあなたが望むことをしませんか? – Barmar
MySQLのドキュメントには、日付と時刻に関連するすべての機能をリストしたページがあります。確かにそこの答えを見つけられたかもしれません。 http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html – Barmar
@Barmar確かに私はこれをまだ探せずに結果が見つからないかどうか尋ねていません。 –