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 visualiser 中打开这个数据库时,我看到 timestamp 的大小为 26 。我真的不知道为什么,因为我读到的默认值为 6。所以我想更改它,例如:

, LAST_LOGIN TIMESTAMP(1)

现在是 21 号。这真的很奇怪。可能是最后一个整数的平均大小,但第一个数字“2”的含义是什么?

4

1 回答 1

0

您所说的“大小”是时间戳的亚秒精度,默认为 6。您的 TIMESTAMP(1) 示例定义了一个亚秒精度为 1 的时间戳。

您在 DB Visualiser 中看到的数字是 TIMESTAMP 列的显示大小。

TIMESTAMP(1),例如 '2013-06-19 01:01:01.1',总是用 21 个字符表示。定义为 TIMESTAMP 或 TIMESTAMP(6) 的时间戳显示在末尾多五个数字。

于 2013-06-19T14:12:57.667 回答