Amazon Redshift中HH:MM格式字符串转time类型求助
Amazon Redshift HH:MM字符串转time类型解决方案
用Redshift原生的
to_time函数就能搞定,指定对应格式参数即可:SELECT to_time(your_time_column, 'HH24:MI') AS converted_time FROM your_table;注意格式符里分钟用
MI,不是你之前用的MM——MM是用来匹配月份的,这也是to_date失败的核心原因。如果你的时间是12小时制(带AM/PM),把格式改成HH:MI就行。要是想直接修改表的列类型,用下面的语句:
ALTER TABLE your_table ALTER COLUMN your_time_column TYPE TIME USING to_time(your_time_column, 'HH24:MI');为啥之前的方法不行?
::time属于隐式转换,Redshift对仅含小时分钟的字符串支持不好,容易报错;to_date是用来转日期的,本来就不是处理时间类型的工具,当然转不出来。
内容的提问来源于stack exchange,提问作者Getu
相关产品推荐
相关产品推荐

