我有原始文本列,其值如“2012-07-26T10:33:34”和“2012-07-26T10:56:16”。在使用 Joda-Time 的 Java 中,我可以通过调用轻松地将其转换为日期/日期
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.
在 Postgres 中,我如何忽略中间的这个“T”字符?
我试过'YYYY-MM-DD\THH:mm:ss'
但得到错误
> 错误:找不到从未知到文本的转换函数
我有原始文本列,其值如“2012-07-26T10:33:34”和“2012-07-26T10:56:16”。在使用 Joda-Time 的 Java 中,我可以通过调用轻松地将其转换为日期/日期
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.
在 Postgres 中,我如何忽略中间的这个“T”字符?
我试过'YYYY-MM-DD\THH:mm:ss'
但得到错误
> 错误:找不到从未知到文本的转换函数
如果我没记错的话,ANSI ANSI 时间戳文字中允许使用 T,因此以下内容应该有效。
select timestamp '2012-07-26T10:33:34';
你说你有一个文本列,所以你可能需要这样的东西:
create table foo (ts text);
insert into foo values ('2012-07-26T10:33:34')
select cast(ts as timestamp)
from foo;
这也有效:
select to_timestamp(ts, 'yyyy-mm-dd hh24:mi:ss')
from foo;
SQLFiddle 示例:http ://sqlfiddle.com/#!12/0b369/1