On Wed, 1 Apr 1998, Thomas G. Lockhart wrote:
> > The point is: why EXTRACT accepts only date types ?
> > SQL92 specifies date, time, timestamp and interval.
>
> tgl=> select extract (year from date 'now');
> date_part
> ---------
> 1998
> (1 row)
> tgl=> select extract (year from datetime 'now');
> date_part
> ---------
> 1998
> (1 row)
> tgl=> select extract (year from abstime 'now');
> date_part
> ---------
> 1998
> (1 row)
> tgl=> select extract(year from timestamp 'now');
> date_part
> ---------
> 1998
> (1 row)
> tgl=> select extract (hour from timespan '5 hours');
> date_part
> ---------
> 5
> (1 row)
>
> tgl=> select extract (hour from reltime '5 hours');
> date_part
> ---------
> 5
> (1 row)
> tgl=> select extract (hour from interval '5 hours');
> date_part
> ---------
> 5
> (1 row)
>
> And,
>
> tgl=> select extract (hour from time '03:04:05');
> ERROR: function 'time_timespan(time)' does not exist
>
> This is a known problem; will fix for v6.4.
>
> - Tom
>
It doesn't work for me. Why ??
psql=> select extract (year from current_timestamp);
ERROR: function date_part(unknown, timestamp) does not exist
psql=> select extract (hour from current_time);
ERROR: function time_timespan(time) does not exist
psql=> select extract (minute from current_time);
ERROR: function time_timespan(time) does not exist
psql=> select extract (second from current_time);
ERROR: function time_timespan(time) does not exist
Ciao, Jose'