Google bigquery 如何在BigQuery的表中显示时间戳类型列的时间?
我有一个名为“INTERACTION\u TIMESTAMP”的列的表 我想显示特定列中的日期和时间格式 到目前为止,我已经尝试了以下代码:Google bigquery 如何在BigQuery的表中显示时间戳类型列的时间?,google-bigquery,bigquery-standard-sql,Google Bigquery,Bigquery Standard Sql,我有一个名为“INTERACTION\u TIMESTAMP”的列的表 我想显示特定列中的日期和时间格式 到目前为止,我已经尝试了以下代码: SELECT USERID as UserId, INTERACTION_TIMESTAMP, EXTRACT(ISOWEEK FROM INTERACTION_TIMESTAMP) as IsoWeek, EXTRACT(DATE from INTERACTION_TIMESTAMP) as date, EXTRACT(DAYOFWEEK FR
SELECT
USERID as UserId,
INTERACTION_TIMESTAMP,
EXTRACT(ISOWEEK FROM INTERACTION_TIMESTAMP) as IsoWeek,
EXTRACT(DATE from INTERACTION_TIMESTAMP) as date,
EXTRACT(DAYOFWEEK FROM INTERACTION_TIMESTAMP)-1 as DayOfWeek,
PARSE_TIMESTAMP("%H", INTERACTION_TIMESTAMP, "UTC") as Time;
CONCAT(CAST(JOURNEY_ID AS STRING),"-", CAST(JOURNEY_ACTIONID AS STRING)) as JobId,
CASE
WHEN INTERACTION_TYPE = 0 THEN "open"
WHEN INTERACTION_TYPE = 1 THEN "click"
ELSE null
END AS Open_Click
FROM
`XXXXXXXXX.database_name`
但是,BigQuery始终从该行代码中显示一条错误消息:
PARSE_TIMESTAMP(“%H”,INTERACTION_TIMESTAMP,“UTC”)作为时间代码>
错误消息(据我记忆所及)说PARSE_TIMESTAMP
与本网站中显示的语法不匹配:
如何处理INTERACTION\u TIMESTAMP
中的字符串,以便在BigQuery中显示时间戳中的时间值
谢谢您可以使用提取功能提取时间并像这样传递时区
select EXTRACT(TIME FROM CURRENT_TIMESTAMP() AT TIME ZONE 'UTC') as Time;
您可以使用EXTRACT函数提取时间并像这样传递时区
select EXTRACT(TIME FROM CURRENT_TIMESTAMP() AT TIME ZONE 'UTC') as Time;
下面是BigQuery标准SQL
您应该使用格式\u时间戳
SELECT
USERID as UserId,
INTERACTION_TIMESTAMP,
EXTRACT(ISOWEEK FROM INTERACTION_TIMESTAMP) as IsoWeek,
EXTRACT(DATE from INTERACTION_TIMESTAMP) as date,
EXTRACT(DAYOFWEEK FROM INTERACTION_TIMESTAMP)-1 as DayOfWeek,
FORMAT_TIMESTAMP("%H", INTERACTION_TIMESTAMP, "UTC") as Time,
CONCAT(CAST(JOURNEY_ID AS STRING),"-", CAST(JOURNEY_ACTIONID AS STRING)) as JobId,
CASE
WHEN INTERACTION_TYPE = 0 THEN "open"
WHEN INTERACTION_TYPE = 1 THEN "click"
ELSE null
END AS Open_Click
FROM
`XXXXXXXXX.database_name`
下面是BigQuery标准SQL
您应该使用格式\u时间戳
SELECT
USERID as UserId,
INTERACTION_TIMESTAMP,
EXTRACT(ISOWEEK FROM INTERACTION_TIMESTAMP) as IsoWeek,
EXTRACT(DATE from INTERACTION_TIMESTAMP) as date,
EXTRACT(DAYOFWEEK FROM INTERACTION_TIMESTAMP)-1 as DayOfWeek,
FORMAT_TIMESTAMP("%H", INTERACTION_TIMESTAMP, "UTC") as Time,
CONCAT(CAST(JOURNEY_ID AS STRING),"-", CAST(JOURNEY_ACTIONID AS STRING)) as JobId,
CASE
WHEN INTERACTION_TYPE = 0 THEN "open"
WHEN INTERACTION_TYPE = 1 THEN "click"
ELSE null
END AS Open_Click
FROM
`XXXXXXXXX.database_name`
错误消息是什么?@ECris,消息说“未能解析输入字符串”2019-06-05 00:00:00+00(错误代码:invaidQuery)“您的列交互时间戳是一个时间戳,parse时间戳(格式字符串,字符串[,时区])
使用字符串而不是时间戳。使用EXTRACT(HOUR from..)
提取小时。或者更好的方法是:EXTRACT(TIME from INTERACTION\u TIMESTAMP)
您的费率较低。重要提示-您可以使用投递答案左侧投票下方的勾号标记接受答案
。看看为什么它很重要!对答案进行投票也很重要。投票选出有帮助的答案。。。当有人回答你的问题时,你可以检查一下该做什么。遵循这些简单的规则,你可以提高自己的声望得分,同时让我们有动力来回答你的问题:O)请考虑!错误消息是什么?@ECris,消息说“未能解析输入字符串”2019-06-05 00:00:00+00(错误代码:invaidQuery)“您的列交互时间戳是一个时间戳,parse时间戳(格式字符串,字符串[,时区])
使用字符串而不是时间戳。使用EXTRACT(HOUR from..)
提取小时。或者更好的方法是:EXTRACT(TIME from INTERACTION\u TIMESTAMP)
您的费率较低。重要提示-您可以使用投递答案左侧投票下方的勾号标记接受答案
。看看为什么它很重要!对答案进行投票也很重要。投票选出有帮助的答案。。。当有人回答你的问题时,你可以检查一下该做什么。遵循这些简单的规则,你可以提高自己的声望得分,同时让我们有动力来回答你的问题:O)请考虑!