【发布时间】: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。
请指导我哪里出错了。
【问题讨论】:
我想将 dd/mm/yyyy hh:mm:ss 字符串转换为日期格式。
select to_timestamp('19/05/2010 20:03:55', 'dd/mm/yyyy hh:mm:ss');
这不会将字符串转换为时间格式,并且总是返回 NULL。
请指导我哪里出错了。
【问题讨论】:
您需要使用正确的格式。
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 格式信息在他们的官方网站上,所以我把它贴在这里。此代码也适用于我的版本。不确定新的简单数据格式规则。