将字符串转换为数据块中的日期 SQL
Convert string to date in databricks SQL
我有一个 table 文本列,格式如下:
5/30/2021 9:35:18 AM
我正在尝试将其转换为 date(yyyy-MM-dd)
,但是当我使用转换 to_date
时,我得到了空值。
有什么办法可以得到yyyy-mm-dd
格式的上述数据吗?
使用 Databricks 日期时间模式。 根据 Databricks 网站上的 SparkSQL 文档,您可以使用特定于 Databricks 的 datetime patterns 与日期列相互转换。首先,您需要像这样将文本列转换为日期列:
to_date('5/30/2021 9:35:18 AM','M/d/y h:m:s a')
M - 月,d - 月中的第几天,y - 年,h - 一天中的小时(12 小时制),m - 小时中的分钟,s - 分钟中的秒,a - AM/PM
将列转换为日期后,您可以轻松地使用相同的日期时间模式将其转换回特定格式。使用以下命令将其转换为所需格式:
date_format(date to_date('5/30/2021 9:35:18 AM','M/d/y h:m:s a'), 'yyyy/MM/dd')
注意:根据您是否获得零左填充天、月、小时、分钟和秒,您需要调整上述命令。
我有一个 table 文本列,格式如下:
5/30/2021 9:35:18 AM
我正在尝试将其转换为 date(yyyy-MM-dd)
,但是当我使用转换 to_date
时,我得到了空值。
有什么办法可以得到yyyy-mm-dd
格式的上述数据吗?
使用 Databricks 日期时间模式。 根据 Databricks 网站上的 SparkSQL 文档,您可以使用特定于 Databricks 的 datetime patterns 与日期列相互转换。首先,您需要像这样将文本列转换为日期列:
to_date('5/30/2021 9:35:18 AM','M/d/y h:m:s a')
M - 月,d - 月中的第几天,y - 年,h - 一天中的小时(12 小时制),m - 小时中的分钟,s - 分钟中的秒,a - AM/PM
将列转换为日期后,您可以轻松地使用相同的日期时间模式将其转换回特定格式。使用以下命令将其转换为所需格式:
date_format(date to_date('5/30/2021 9:35:18 AM','M/d/y h:m:s a'), 'yyyy/MM/dd')
注意:根据您是否获得零左填充天、月、小时、分钟和秒,您需要调整上述命令。