7

time with time zone からPostgres database に呼び出さend_dateれたテーブルで呼び出された列を変更する際に問題があります。次のコードを使用してみました。key_requesttimestamp

alter table key_request alter column end_date type timestamp with time zone using end_date::timestamp with time zone

次のエラーが発生し続けます。

ERROR:  cannot cast type time with time zone to timestamp with time zone

このクエリを機能するように調整する方法について何か考えはありますか?

4

3 に答える 3

19

次のようなことができます:

alter table key_request
alter column end_date type timestamp with time zone using date('20130101') + end_date;

sql fiddle demo

于 2013-08-15T15:15:59.397 に答える
2

これを一連の手順で行います

  1. end_date1次のように新しい列を追加して、テーブルを変更しますtime with time zone
  2. end_date(古い) から日付をコピーします。end_date1
  3. テーブルを変更し、古いend_date列を削除します
  4. テーブルを変更して、リーミングend_date1しますend_date
于 2013-08-15T14:36:28.847 に答える
0

java.sql.Dateからに変更java.util.Date

ALTER TABLE key_request ALTER COLUMN end_date TYPE timestamp without time zone;

そのテーブルに関連する従属ビューがある場合

  1. ビューをドロップ
  2. 列の種類を変更する
  3. ビューを再作成する

タイプの移行中のJava/hibernateアプローチからのソリューション。

  • java.sql.Dateに翻訳されますdate
  • java.util.Dateに翻訳されますtimestamp without time zone
于 2016-07-29T08:57:30.153 に答える