如何在Azure Databricks中将字符串转换为DateTime字段
正确转换方案
你提供的时间字符串是12小时制带AM/PM后缀的格式,使用如下代码即可完成解析,解析后的timestamp类型可直接用于DATE_ADD运算:
select '2021-11-22 07:28:47 PM' as DateTime_String, -- 转换为timestamp类型 to_timestamp('2021-11-22 07:28:47 PM', 'yyyy-MM-dd hh:mm:ss a') as Converted_Timestamp, -- 若仅需日期类型也可使用如下写法 to_date('2021-11-22 07:28:47 PM', 'yyyy-MM-dd hh:mm:ss a') as Converted_Date
之前尝试返回null的原因
- 你使用的
HH格式符对应24小时制计时,和12小时制带AM/PM后缀的输入格式不匹配,需改用12小时制格式符hh - 输入字符串无毫秒位,你在格式串中额外添加的
:SS/.SSS规则无法匹配输入内容,导致解析失败 - Attempt_4的格式串未匹配末尾的AM/PM后缀,同样存在格式不匹配问题
内容的提问来源于stack exchange,提问作者James Khan
相关产品推荐
相关产品推荐

