[pgsql-jp: 25292] date型に31年2月の日付が入らない?

Kageyu Hidemasa kage @ ipoint.co.jp
2002年 3月 14日 (木) 21:38:16 JST


景由@アイポイントです。

間違えて昭和の誕生日日付をそのままINSERTしていたときに、
date型に31年2月の日付が入らない現象にぶつかりました。

kage=# CREATE TABLE hoge (a date);
CREATE
kage=# INSERT INTO hoge VALUES ('31/02/01');
ERROR:  Bad date external representation '31/02/01'
macour=# INSERT INTO hoge VALUES ('31/02/03');
ERROR:  Bad date external representation '31/02/03'
macour=# INSERT INTO hoge VALUES ('31/02/28');
ERROR:  Bad date external representation '31/02/28'

1月,3月では問題無いようです。
kage=# INSERT INTO hoge VALUES ('31/01/01');
INSERT 84622 1
kage=# INSERT INTO hoge VALUES ('31/03/01');
INSERT 84623 1

環境は以下のとおりです。
Redhat Linux 6.2J
Postgres 7.2

単に表示のみに使う日付なのでchar(6)で格納することで回避できた
(というかそれが正しい仕様だった)のですが、気になったので投稿
させて頂きました。

-----
景由秀正@アイポイント株式会社
ウェブソリューション部システムグループ
PHONE:03-5771-5021  FAX:03-5771-5022
URL http://www.ipoint.co.jp/




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