Impala 将字符串转换为时间戳总是返回 NULL
Posted
技术标签:
【中文标题】Impala 将字符串转换为时间戳总是返回 NULL【英文标题】:Impala convert string to timestamp always returns to NULL 【发布时间】:2021-08-02 21:45:42 【问题描述】:我想将 dd/mm/yyyy hh:mm:ss 字符串转换为日期格式。
select to_timestamp('19/05/2010 20:03:55', 'dd/mm/yyyy hh:mm:ss');
这不会将字符串转换为时间格式,并且总是返回 NULL。
请指导我哪里出错了。
【问题讨论】:
【参考方案1】:您需要使用正确的格式。
select to_timestamp('19/05/2010 20:03:55', 'dd/MM/yyyy HH:mm:ss') as ts;
模式字符串支持以下 Java SimpleDateFormat 子集。
Pattern Description
y Year
M Month
d Day
H Hour
m Minute
s Second
S Fractional second
包含所有字段的日期字符串可以是 'yyyy-MM-dd HH:mm:ss.SSSSSS'、'dd/MM/yyyy HH:mm:ss.SSSSSS'、'MMM dd, yyyy HH.mm。 ss (SSSSSS)' 或其他占位符和分隔符的组合。
【讨论】:
模式字母绝不是特定于旧的和麻烦的SimpleDateFormat
类。请参阅 Unicode Date Field Symbol Table。
可能是,但上面的SimpleDate
格式信息在他们的官方网站上,所以我把它贴在这里。此代码也适用于我的版本。不确定新的简单数据格式规则。以上是关于Impala 将字符串转换为时间戳总是返回 NULL的主要内容,如果未能解决你的问题,请参考以下文章