0

我在 Oracle 10g 中使用 TIMESTAMP(9) 创建了一个表。然后我尝试在该列中插入 CURRENT_TIMESTAMP 值,但不幸的是收到错误消息:该列的值太大:(实际:35,最大值:25)

然后我尝试了这个查询:

从对偶中选择长度(current_timestamp);

计数是 35。

但是 Oracle 不允许我在创建表结构时定义 TIMESTAMP(35)。

在这种情况下,如何在创建表时定义 Timestamp 列,如何在 Timestamp 列中插入 Current Timestamp 值?

4

1 回答 1

1

你能发布你的表定义和你用来插入的确切的 SQL 语句CURRENT_TIMESTAMP吗?如果您实际上是在插入 a TIMESTAMP,则不应出现该错误

SQL> create table foo ( col1 timestamp(9) );

Table created.

SQL> insert into foo values( current_timestamp );

1 row created.

length(current_timestamp)将时间戳隐式转换为字符串并确定该字符串的长度。您得到的错误似乎暗示当您尝试将数据插入表时发生了类似的转换。

于 2012-07-02T15:28:28.640 回答