我有示例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中打开这个数据库时,我看到时间戳的大小为26。我真的不知道为什么,因为我读默认值为6.所以我想改变它,例如:
, LAST_LOGIN TIMESTAMP(1)
现在是21号。这真的很奇怪。可能是最后一个整数平均大小,但第一个数字“2”的含义是什么?
答案 0 :(得分:0)
你所谓的“大小”是时间戳的亚秒级精度,默认为6。您的TIMESTAMP(1)示例定义了亚秒级精度为1的时间戳。
您在DB Visualiser中看到的数字是TIMESTAMP列的显示大小。
TIMESTAMP(1),例如'2013-06-19 01:01:01.1',始终使用21个字符进行重新呈现。定义为TIMESTAMP或TIMESTAMP(6)的时间戳在末尾显示五位数。