首页 > 解决方案 > 在 BigQuery 中将日期格式从“month_name day,year”转换为“yyyy-mm-dd”

问题描述

我有一个日期格式为“month_name day, yyyy”的列,例如“2000 年 7 月 4 日”。现在我想将其转换为 ISO“yyyy-mm-dd”。在标准 SQL 中我可以调用任何函数吗?

UPDATE target_name 
SET col = function(col)

如何使用 python 客户端使用上述函数更新列或使用该函数更新新列,如下所示?

original_schema = table.schema
new_schema = original_schema[:] 
new_schema.append(bigquery.SchemaField('new_date', 'DATE'))
table.schema = new_schema
table = client.update_table(table, ['schema']) 

谢谢!

标签: pythonsqldategoogle-bigquerysql-update

解决方案


您可以使用日期函数:parse_date()将字符串转换为 a date,然后format_date()将 转换date为所需格式的字符串:

update target_name set col = format_date('%F', parse_date('%B %e, %Y', col))

推荐阅读