[pgsql-jp: 29986] Re: 24:00を超えた場合の時刻表示方法について

ISHIDA Akio iakio @ pjam.jpweb.net
2003年 5月 19日 (月) 17:25:53 JST


石田@苫小牧市です。まちがってました。^^;;

ISHIDA Akio <iakio @ pjam.jpweb.net> wrote:
(2003/05/19 16:51)

> 石田@苫小牧市です。
> # のりおくれてしまったようですが。
> 
> 出勤/退勤時刻ということなので、会社に2泊してしまった
> 人のために別解です。
> 
> select to_char(in_time, 'YYYY/MM/DD ')
>     ||  date_part('hour', in_time)
>         + date_part('epoch', out_time - in_time) / 3600
>     || to_char(in_time, ':MI:SS')
>        from test;

select to_char(in_time, 'YYYY/MM/DD ')
    || (date_part('hour', in_time)
        + date_part('hour', out_time - in_time))
    || to_char(out_time - in_time, ':MI:SS')
       from t;

でした。ところで、

> "sorako yamamoto" <sorako_y @ hotmail.com> wrote:
> (2003/05/19 16:48)
> 
> > >ヒント3の部分をout_time全体ではなく、対象部分だけに適用す
> > >れば答えは求められると思います。
> > 
> > SELECT 
> >   out_time, 
> >   work_date , 
> >   CASE WHEN 
> >     work_date::date != out_time::date THEN 
> > 	( (to_char( out_time , 'HH24'))::int + 24 )  || ':' || ( to_char( out_time 
> > , 'MI') )
> >    END  
> >      FROM test ;

これも、in_time が 00 分以外のときはまずそうですね。

( (to_char( out_time , 'HH24'))::int + 24 ) || ':' ||
 ( to_char( out_time  - in_time, 'MI') )
                        ^^^^^^^ 
とかしないとまずそうですね。

--
ISHIDA Akio<iakio @ pjam.jpweb.net>




pgsql-jp メーリングリストの案内