Google bigquery 如何使用standardSQL提取时间戳的小时数

Google bigquery 如何使用standardSQL提取时间戳的小时数,google-bigquery,hour,Google Bigquery,Hour,如何使用standardSQL提取时间戳的小时数 我什么都试过了,但没有一个函数起作用。问题是我必须从一列中提取时间,该列的格式如下:2018-07-09T02:40:23.652Z 如果我只输入日期,它会工作,但如果我输入列,它会给出以下错误: Syntax error: Expected ")" but got identifier "searchIntention" at [4:32] 按照以下查询进行操作: #standardSQL select TOTAL, dia, hora FR

如何使用standardSQL提取时间戳的小时数

我什么都试过了,但没有一个函数起作用。问题是我必须从一列中提取时间,该列的格式如下:2018-07-09T02:40:23.652Z

如果我只输入日期,它会工作,但如果我输入列,它会给出以下错误:

Syntax error: Expected ")" but got identifier "searchIntention" at [4:32]
按照以下查询进行操作:

#standardSQL
select TOTAL, dia, hora FROM 
(SELECT cast(replace(replace(searchIntention.createdDate,'T',' '),'Z','')as 
DateTime) AS DIA, 
FORMAT_DATETIME("%k", DATETIME searchIntention.createdDate) as HORA,
count(searchintention.id) as Total
from `searchs.searchs2016626`
GROUP BY DIA)
请帮帮我(

如何使用standardSQL提取时间戳的小时数

下面是BigQuery标准SQL

您可以使用(从时间戳列开始的小时数)

例如:

SELECT EXTRACT(HOUR FROM CURRENT_TIMESTAMP())   

SELECT EXTRACT(HOUR FROM TIMESTAMP '2018-07-09T02:40:23.652Z')


在BigQuery标准SQL中,可以使用以返回与要检索的时间戳部分对应的
INT64
值,如

可用部分包括一个完整的列表,您可以在链接的文档页面中查看该列表,但在您的用例中,您可以直接参考
HOUR
操作符,以便在字段中检索小时值的
INT64
表示


这是不正确的。它确实存在于BigQueQualQualSQL中!请尝试!您可能在这个小时内使用对日期类型的提取-当然是不可用的。但是如果您使用它来对抗时间戳-它允许使用小时!所以请确保使用时间戳而不是DATEIT!!谢谢。l-看起来是这样的:o)如果我需要一个小时到一秒的时间戳怎么办
SELECT EXTRACT(HOUR FROM TIMESTAMP('2018-07-09T02:40:23.652Z'))
#standardSQL
# Create a table
WITH table AS (
  SELECT TIMESTAMP("2018-07-09T02:40:23.652Z") time
  )
# Extract values from a Timestamp expression
SELECT
  EXTRACT(DAY FROM time) as day,
  EXTRACT(MONTH FROM time) as month,
  EXTRACT(YEAR FROM time) as year,
  EXTRACT(HOUR FROM time) AS hour,
  EXTRACT(MINUTE FROM time) as minute,
  EXTRACT(SECOND from time) as second
FROM
  table