在我的日期列中,有些行是 10/12/2007,有些行是 10-12-2007 现在我想在大查询中将日期转移到 2007-12-10

问题描述 投票:0回答:1

我想在大查询中更改日期格式,同时在精炼表中进行转换实际上我的日期列中有日期列,有些行是 10/12/2007,有些行是 10-12-2007 现在我想更改日期变成 2007-12-10 这种格式。

当我尝试一些命令时,例如 SELECT FORMAT_DATE('%Y-%m-%d', PARSE_DATE('%Y/%m/%d', REPLACE(your_date_column, '-', '/')) ) AS new_date_column FROM your_table; 它显示错误

function date google-bigquery format standards
1个回答
0
投票

parse_date
中的格式与示例日期不匹配。

WITH
  sample AS (SELECT * FROM UNNEST(["10/12/2007","10-12-2007"]) AS date_col )
SELECT
  FORMAT_DATE('%Y-%m-%d', PARSE_DATE('%d/%m/%Y', REPLACE(date_col, '-', '/'))) AS new_date_column,
  FORMAT_DATE('%Y-%m-%d', PARSE_DATE(if( contains_substr(date_col, '/') , '%d/%m/%Y','%d-%m-%Y'), date_col)) AS new_date_column,
  
FROM   sample
© www.soinside.com 2019 - 2024. All rights reserved.