[pgsql-jp: 30051] Re: 月数の取得(datetime 関数の代替)
T.Suzuki
t_suzuki @ kenwood-eng.co.jp
2003年 5月 27日 (火) 09:55:56 JST
鈴木@KEGと申します。
From: "Hisashi Chiba" <ch-999 @ beige.plala.or.jp>
> MM=`psql -d zaimu -A -t -c "select
to_char(datetime(to_char(MIN(keiri_date),'9999-99-99')),'MM')
> from daily;"`
> TM=`psql -d zaimu -A -t -c "select
to_char(datetime(to_char(MIN(keiri_date),'9999-99-99')),'MM')
> from temp;"`
> if [ "$MM" != "$TM" ] ; then
>
> #ここで、$MM と $TM は文字列として考えています。
datetime型へのキャストが出来ないようです。
取りあえず、以下の様にDate型へ変換すれば実行できます。
(datetimeじゃなくてdateを使用)
#psql -d template0 -A -t -c "select
to_char(date(to_char(20030527,'9999-99-99')),'MM')
#psql -d template0 -A -t -c "select
to_char(to_char(20030527,'9999-99-99')::date,'MM')
datetime型は過去バージョンとの互換性の為に存在していたのですが、
7.3で使えなくなったのでしょうか?
#select typname from pg_type where typname like '%time';
としても、datetimeが見当たらないですね…。
リリースノートを見ても記述はありませんでした。
表やその他SQLで、datetime型を使用しているのでしたら
修正したほうがよさそうですね。
-----------------------------------------
鈴木 徹 (SUZUKI Toru)
KENWOOD ENGINEERING CORPORATION
E-mail:t_suzuki @ kenwood-eng.co.jp
-----------------------------------------
pgsql-jp メーリングリストの案内