来自字符串的 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
通常是日期的正确顺序,因为它会作为文本正确排序。您可以使用任何您想要的替换,以上述查询为例。
我找遍了所有地方都找不到这个答案。这是一个非常简单的查询,但我一辈子都想不出如何更改日期。
我有一个字符串形式的日期,但没有被提取。日期输入为 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
通常是日期的正确顺序,因为它会作为文本正确排序。您可以使用任何您想要的替换,以上述查询为例。