検索

ホームページ  >  に質問  >  本文

JDBC日時型

MySQL データベースに DATETIME 列があります。 ResultSet メタデータを使用して列の型を取得すると、間違った TIMESTAMP が返されます。この列の正しい java.sql.SQLType 値を取得するにはどうすればよいですか?

もっと具体的に言ってみます。 Java コードを使用してデータベースの構造を定義します。例えば;### リーリー

次に、私の小さなバリデーター コードがこの列を作成します (そこにテーブルが定義されていると仮定します)。その後、このコードを

に変更すると、 リーリー

私の小さなバリデータは列サイズを 200 に変更します。これを行うには、メタデータを

として取得します。 リーリー

次に列のプロパティにアクセスします

リーリー

これにより、

JDBCType 列挙が返されます。このクエリを MySQL DATETIME 列に対して実行するとします。 Java にはそのようなものはないことは知っていますが、それに相当するのは java.sql.Timestamp クラスです。しかし、MySQL では、DATETIME は TIMESTAMP ではありません。

Java コードで MySQL

DATETIME と MySQL TIMESTAMP を区別するにはどうすればよいですか?

P粉486138196P粉486138196342日前554

全員に返信(1)返信します

  • P粉338969567

    P粉3389695672023-12-28 13:22:01

    汎用 JDBC の観点からは、DatabaseMetaData .getColumns(...)、これは返されるはずです:

    つまり、データ ソースで使用されるデータ型の名前が含まれている必要があります (この場合、MySQL は DATETIME を返す必要があります)。

    注: 私はこれを実際に検証していません。私の答えは純粋に一般的な JDBC 要件に基づいています。

    返事
    0
  • キャンセル返事