私はMYSQLからHSQLへのデータの移行に取り組んでいました。
MYSQLデータファイルには、日付値がとして設定されているレコードがたくさんあり'0000-00-00'
、HSQLデータベースは以下のエラーをスローします。
「データ例外:無効な日時形式/エラーコード:-3407 /状態:22007」
そのようなすべての記録のために。
この問題の最適な解決策を知りたいですか?
前もって感謝します
私はMYSQLからHSQLへのデータの移行に取り組んでいました。
MYSQLデータファイルには、日付値がとして設定されているレコードがたくさんあり'0000-00-00'
、HSQLデータベースは以下のエラーをスローします。
「データ例外:無効な日時形式/エラーコード:-3407 /状態:22007」
そのようなすべての記録のために。
この問題の最適な解決策を知りたいですか?
前もって感謝します
HSQLDB は SQL 標準に従い、有効な日付のみを許可します。「0001-01-01」などの日付は、デフォルト値の適切な候補です。
データ挿入に使用される方法に関係なく、'0000-00-00' 文字列は挿入前に修正する必要があります。これを行う 1 つの方法は、DEFAULT DATE'0001-01-01' でターゲット列のデフォルト値を使用し、INSERT ステートメント内のストリングをキーワード DEFAULT で置き換えることです。例えば:
CREATE TABLE MYTABLE ( C1 INT, C2 DATE DEFAULT DATE'0001-01-01')
INSERT INTO MYTABLE VALUES 1, DEFAULT
INSERT INTO MYTABLE VALUES 3, '2010-08-14'