Select

從帶有時區的時間列中分別提取日期和時間

  • March 7, 2016

我在 PostgreSQL 9.3 中有一個包含以下列的表

....,
 created_at time with time zone NOT NULL DEFAULT now(),
...,

當我這樣做時,select created_at from trails;我得到了這個

"02:32:44.62054-05"

如何以這種格式 dd-mm-yyyy (01-11-2015) 獲取日期?我試過了select created_at::date from trails;,但我收到了這個錯誤

ERROR: cannot cast type time with time zone to date

我更改為select date(created_at) from trails;並收到此錯誤

ERROR:  function date(time with time zone) does not exist

我想做一個選擇語句,它將分別以 dd-mm-yyyy 和 hh:nn:ss 格式在兩列中獲取日期和時間,即select date(created_at) as date, time(created_at) as time from trails;

文件中:

Name                       Description                        Low Value      High Value
time [(p)] with time zone  times of day only, with time zone  00:00:00+1459  24:00:00-1459

您為此列選擇的數據類型似乎不包含任何“日期”值。你正在嘗試的是不可能的。

引用自:https://dba.stackexchange.com/questions/131478