databricks spark SQL 中 date_format 函数的预期输入日期模式是什么
What is expected input date pattern for date_format function in databricks spark SQL
我试图根据官方数据块文档(我正在使用数据块)更好地理解 Spark SQL.As 提供的 date_format
函数,此函数需要有效日期时间格式的任何日期/字符串.下面是相同的link。
我发现很难理解这里“有效”的确切定义是什么。我试图通过这里的两个示例来理解功能。
输入 YYYY-MM-DD 格式 (2021-07-09) 的字符串,我正确地得到了预期的结果:
输入 DD-MM-YYYY 格式的字符串 (20-07-2021),我得到空值:
为什么会这样?这个函数是如何理解我传递的参数确实是 YYYY-MM-DD 格式的?它也可能是 YYYY-DD-MM。
我的要求是实现一个可以处理各种有效日期格式(MM-DD-YYYY、YYYY-MM-DD、DD-MM-YYYY)并相应地格式化日期的逻辑。
以下是 ANSI date/time 数据类型的有效输入和输出格式:
示例: ANSIDATE yyyy-mm-dd 2007-02-28 TIME WITH TIME ZONE hh:mm:ss.ffff... [+|-]th:tm
时区偏移的有效范围是-14:00到+14:00。 date 符合公历的 ANSI SQL 标准定义:“注意 85 - 日期时间数据类型将允许公历格式的日期存储在日期范围 0001-01-01 CE 通过 9999-12-31 CE
有关有效格式的详细信息,请参阅 Databricks SQL datetime patterns。该函数检查结果日期是否为 Proleptic Gregorian 日历中的有效日期,否则它 returns NULL
当您使用“20-07-2021”时,它不符合“yyyy-mm-dd”,因此导致空
或者,您可以使用 make_date
函数从年月日字段创建日期。或者更好地使用 to_date
function
select date_format(to_date('9/15/2021', 'MM/dd/yyyy'), 'yyyy/MM/dd')
我试图根据官方数据块文档(我正在使用数据块)更好地理解 Spark SQL.As 提供的 date_format
函数,此函数需要有效日期时间格式的任何日期/字符串.下面是相同的link。
我发现很难理解这里“有效”的确切定义是什么。我试图通过这里的两个示例来理解功能。 输入 YYYY-MM-DD 格式 (2021-07-09) 的字符串,我正确地得到了预期的结果:
输入 DD-MM-YYYY 格式的字符串 (20-07-2021),我得到空值:
为什么会这样?这个函数是如何理解我传递的参数确实是 YYYY-MM-DD 格式的?它也可能是 YYYY-DD-MM。
我的要求是实现一个可以处理各种有效日期格式(MM-DD-YYYY、YYYY-MM-DD、DD-MM-YYYY)并相应地格式化日期的逻辑。
以下是 ANSI date/time 数据类型的有效输入和输出格式:
示例: ANSIDATE yyyy-mm-dd 2007-02-28 TIME WITH TIME ZONE hh:mm:ss.ffff... [+|-]th:tm
时区偏移的有效范围是-14:00到+14:00。 date 符合公历的 ANSI SQL 标准定义:“注意 85 - 日期时间数据类型将允许公历格式的日期存储在日期范围 0001-01-01 CE 通过 9999-12-31 CE
有关有效格式的详细信息,请参阅 Databricks SQL datetime patterns。该函数检查结果日期是否为 Proleptic Gregorian 日历中的有效日期,否则它 returns NULL
当您使用“20-07-2021”时,它不符合“yyyy-mm-dd”,因此导致空
或者,您可以使用 make_date
函数从年月日字段创建日期。或者更好地使用 to_date
function
select date_format(to_date('9/15/2021', 'MM/dd/yyyy'), 'yyyy/MM/dd')