来自字符串的 BigQuery 日期转换

BigQuery Date Conversion From String

我找遍了所有地方都找不到这个答案。这是一个非常简单的查询,但我一辈子都想不出如何更改日期。

我有一个字符串形式的日期,但没有被提取。日期输入为 20170601,但我需要它采用日期格式才能在 Tableau 中获取。我正在使用标准 SQL 并尝试 PARSE_DATE("%x", date) as parsed, cast(date as date ),等等,我不断收到 错误:无法解析输入字符串“20170918” 或该错误的某些变体。

#standardSQL SELECT visitorid, parse_DATE("%x", date) AS parse FROM google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_20130910

table在`

请指教!!

您可以尝试进行正则表达式替换来构建您需要的日期字符串:

SELECT
    REGEXP_REPLACE('20170601', r"^([0-9]{4})([0-9]{2})([0-9]{2})", "\1/\2/\3")

这将输出 2017/06/01,这可能是您需要的格式。实际上,我不知道 Tableau 需要什么格式,但 YYYYMMDD 通常是日期的正确顺序,因为它会作为文本正确排序。您可以使用任何您想要的替换,以上述查询为例。