• ベストアンサー

MySQLのDATE型カラム値がNULLの時、JSTL文でアクセスするとエラーになります

MySQLのDATE型カラム値がNULLの時、JSTL文でアクセスすると、値が入っているとアクセスできますが、値が入っていないと " Value '0000-00-00' can not be represented as java.sql.Date " エラーでアクセスできません。 環境は Windows2000Pro MySQL 4.1 J2SE SDK5.0 JSTL standard-1.1 Tomcat 5.5.9 MySQLのテーブルは CREATE TABLE addressbook ( id smallint(4) UNSIGNED NOT NULL auto_increment, name1 varchar(20) default NULL, birthday date default NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=sjis; mysql> select * from addressbook; で確認すると birthdayの値が 000-00-00 となっています。 対処方法のご教授お願いします

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

mysql4.1から 0000-00-00の日付をjavaの日付に変換できない エラーが発生した記憶があります。 mysql接続の際にゼロ日付をnullにコンバートすればいけると思います。 zeroDateTimeBehavior=convertToNull をつけてみてください。 例) jdbc:mysql://localhost/DB_NAME?useUnicode=true&characterEncoding=Shift_JIS&zeroDateTimeBehavior=convertToNull

pm0300
質問者

お礼

ありがとうございました。 おかげさまで解決しました。 4.1に変えてからてこずっています、又よろしくお願いします。

その他の回答 (1)

  • ArukuMail
  • ベストアンサー率22% (115/510)
回答No.1

null値にならないようにする

pm0300
質問者

お礼

回答ありがとうございます。 null値の場合があるので、困っています。

関連するQ&A