2

「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'ましたが、エラーが発生しました

> エラー: 不明からテキストへの変換関数が見つかりませんでした

4

1 に答える 1

1

私が間違っていなければ、 T は ANSI ANSI タイムスタンプ リテラルで許可されているため、次のように動作するはずです。

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

于 2013-01-09T18:47:00.240 に答える