0

タイプ(日時、nullではない)のSTART_TSという名前の列が1つあるデータベースが1つあります。その列に空白の値を挿入したいJavaで1つのプログラムを書きましたが
、値として「1900-01-01 00:00:00.000」を取ります。

statement.executeUpdate("insert into tableName(START_TS) values(CAST(START_TS as varchar(100)))");

その列に空白の値を挿入できるキャストメカニズムを提案してください。

ありがとう

4

1 に答える 1

1

構文が指しているように見えるMYSQLを使用している場合。次のことができます。

ALLOW_INVALID_DATES

日付の完全なチェックを実行しません。月が 1 から 12 の範囲にあり、日が 1 から 31 の範囲にあることだけを確認してください。これは、3 つの異なるフィールドで年、月、日を取得し、格納したい Web アプリケーションに非常に便利です。ユーザーが挿入したものとまったく同じ (日付の検証なし)。このモードは、DATE 列と DATETIME 列に適用されます。常に有効な日付を必要とする TIMESTAMP 列は適用されません。

このモードは MySQL 5.0.2 で実装されています。5.0.2 より前では、これがデフォルトの MySQL 日付処理モードでした。5.0.2 の時点で、サーバーは月と日の値がそれぞれ 1 から 12 と 1 から 31 の範囲だけでなく、正当であることを要求します。厳密モードを無効にすると、「2004-04-31」などの無効な日付が「0000-00-00」に変換され、警告が生成されます。厳格モードを有効にすると、無効な日付によってエラーが生成されます。このような日付を許可するには、ALLOW_INVALID_DATES を有効にします。

ただし、コメントで誰もが言っているように、データ型が DATETIME のフィールドに " " を貼り付けることはできません。

于 2012-09-05T05:29:04.153 に答える