たとえば、タイムスタンプから時間コンポーネントを削除するにはどうすればよいですか。
2014-01-01 12:00:01
なるために
2014-01-01 00:00:00
タイプから時間コンポーネントを削除する方法を実際に尋ねているようです。timestamp
いくつかのテストデータを設定しましょう:
CREATE TABLE public.test (
time_stamp timestamp
);
INSERT INTO public.test (time_stamp) VALUES (SYSDATE());
INSERT INTO public.test (time_stamp) VALUES (SYSDATE());
INSERT INTO public.test (time_stamp) VALUES (SYSDATE());
COMMIT;
変換前のデータは次のようになります。
タイムスタンプ ---------------------------- 2014-07-01 21:37:11.454081 2014-07-01 21:37:15.521172 2014-07-01 21:37:18.048398
関数を使用しTRUNC
て値を切り捨てます。
SELECT TRUNC(time_stamp, 'dd') FROM public.test;
これにより、次が生成されます。
TRUNC ---------------------- 2014-07-01 00:00:00 2014-07-01 00:00:00 2014-07-01 00:00:00
あなたがそれを書きたい場合:
SELECT CAST(CAST(time_stamp AS date) AS timestamp) FROM public.test;
または
SELECT time_stamp::date::timestamp FROM public.test;