2

こんにちは、タイトルにあるように、テーブルに healthtime という名前の列があります。これは、タイムゾーンなしのタイプのタイムスタンプです。

Healthime
2012-02-02 08:15:00

これを同じテーブルの 2 つの新しい列に分割したいと思います。つまり、1 つの日付列と 1 つの時間列です。

Date        Time
2012-02-02  08:15:00

誰かがこれを行う方法を教えてください(できれば単一のクエリで)、

ありがとう、ジェームズ

4

2 に答える 2

6

1つのクエリではなく、1つのトランザクション...でも問題ありません。

私のテーブルは次のようになります。

CREATE TABLE d (t timestamp);

テーブルを変更するコード:

BEGIN;

ALTER TABLE d ADD COLUMN dat date;
ALTER TABLE d ADD COLUMN tim time;

UPDATE d
SET
    dat = t::date,
    tim = t::time;

ALTER TABLE d DROP COLUMN t;  

COMMIT;
于 2013-05-14T11:41:11.910 に答える