0

サンプルの ddl スクリプトがあります。

CREATE TABLE PERSON
(
  ID BIGINT GENERATED BY DEFAULT AS IDENTITY NOT NULL
, FIRST_NAME VARCHAR(100) NOT NULL 
, LAST_NAME VARCHAR(100) NOT NULL 
, DATE_OF_BIRTH DATE
, GENDER VARCHAR(1) NOT NULL
, SSN VARCHAR(100)
, LAST_LOGIN TIMESTAMP
, VERSION INT DEFAULT 0 NOT NULL
);

このデータベースを db ビジュアライザーで開くと、タイムスタンプのサイズが 26 であることがわかります。デフォルトが6であるため、理由が本当にわかりません。たとえば、次のように変更します。

, LAST_LOGIN TIMESTAMP(1)

今のサイズは 21 です。これは本当に奇妙です。おそらく最後の整数はサイズを意味しますが、最初の数字「2」の意味は何ですか?

4

1 に答える 1

0

「サイズ」とは、タイムスタンプの 1 秒未満の精度で、デフォルトでは 6 です。TIMESTAMP(1) の例では、1 秒未満の精度でタイムスタンプを定義しています。

DB Visualiser で表示される数値は、TIMESTAMP 列の表示サイズです。

「2013-06-19 01:01:01.1」などの TIMESTAMP(1) は、常に 21 文字を使用して表現されます。TIMESTAMP または TIMESTAMP(6) として定義されたタイムスタンプは、末尾に 5 桁追加して表示されます。

于 2013-06-19T14:12:57.667 に答える