2017-05-12 10 views
0

DBとしてMS SQLを使用していて、自分のテーブルの「START_DATE」というDATE列があります。これは必須ではない列です。エラーがNULLまたは空の値を挿入するDATE列にLocalDate型にマップされたJavaで

私のJava層では、これをLocalDateにマップしています。 START_DATEに値を設定していないときは、nullに設定するか空のままにします。ます。com.microsoft.sqlserver.jdbc.SQLServerException:これまでのデータvarbinary型からの暗黙的な変換が許可されていない私は

はによって引き起こされるエラーを取得し、両方のケースで

。この問合せを実行するには、CONVERTファンクションを使用します。

この問題を解決するにはどうすればよいですか?

答えて

0

2012年以降のバージョンをお使いですか?問題は、SQL 2012が日時のNULL値を解釈する方法にあります。 Javaからの挿入クエリには、この予期しないエラーを避けるためにdatetimeとして強制的に挿入する明示的な変換関数が必要です。 のような何か: 変換(DATETIME、START_DATE、21)

More info

+0

は、私はSQL Serverのバージョン13.0を使用していますので、それはあなたがこのバージョンには適用されません示唆していると、別の問題があるものを意味するのでしょうか? – megan

+0

それどころか、バージョン13は実際にはバージョン2016なので、明示的な変換を加えて試してみてください。 – nick79

関連する問題