Snowflake 如何将任何日期或日期时间值解析为 YYYY-MM-DD?
Snowflake how to parse any date or date-time values into YYYY-MM-DD?
我正在使用 Snowflake 从各种数据源获取数据,即使在某些系统中,日期和日期时间格式也不相同。
我们可能有:
2021-11-04T00:00:00.000+06:00
或
2021-11-04
甚至:
04/11/2021
我尝试使用以下内容:
SELECT ifnull(try_to_date('2021-11-04T00:00:00.000+06:00'), to_date('2021-11-04T00:00:00.000+06:00'))
但是当日期像04/11/2021
时它不起作用
我不想让查询变大,因为它在一个巨大的摄取脚本中,1 毫秒对我们来说很重要。
出于与我们的仓库相关的原因,是否可以将任何类型的日期和日期时间解析为 YYYY-MM-DD
?
你可以用COALESCE
尝试不同的格式,然后第一个解析的非空值将输出日期:
select coalesce(
try_to_date(mydate)
, try_to_date(mydate, 'yyyy-mm-dd')
, try_to_date(mydate, 'mm/dd/yyyy')) as parsed_dae
支持的其他说明符:
我正在使用 Snowflake 从各种数据源获取数据,即使在某些系统中,日期和日期时间格式也不相同。
我们可能有:
2021-11-04T00:00:00.000+06:00
或
2021-11-04
甚至:
04/11/2021
我尝试使用以下内容:
SELECT ifnull(try_to_date('2021-11-04T00:00:00.000+06:00'), to_date('2021-11-04T00:00:00.000+06:00'))
但是当日期像04/11/2021
我不想让查询变大,因为它在一个巨大的摄取脚本中,1 毫秒对我们来说很重要。
出于与我们的仓库相关的原因,是否可以将任何类型的日期和日期时间解析为 YYYY-MM-DD
?
你可以用COALESCE
尝试不同的格式,然后第一个解析的非空值将输出日期:
select coalesce(
try_to_date(mydate)
, try_to_date(mydate, 'yyyy-mm-dd')
, try_to_date(mydate, 'mm/dd/yyyy')) as parsed_dae
支持的其他说明符: