2012-07-02 146 views
0

我在Oracle 10g中使用TIMESTAMP(9)创建了一个表。然后,我尝试在该列中插入CURRENT_TIMESTAMP值,但遗憾的是得到了错误消息:值太大列:(实际:35,最大:25)Oracle TIMESTAMP错误:日期时间/间隔精度超出范围

然后我尝试此查询:

选择长度(CURRENT_TIMESTAMP )从双重;

和计数为35

但甲骨文不允许我定义TIMESTAMP(35)在创建表结构。

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

回答

1

你能发表你的表定义和你用来插入CURRENT_TIMESTAMP的确切SQL语句吗?如果你实际上插入TIMESTAMP你不应该得到这个错误

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

Table created. 

SQL> insert into foo values(current_timestamp); 

1 row created. 

length(current_timestamp)时间戳隐式转换为字符串,并确定字符串的长度。您收到的错误似乎意味着当您尝试将数据插入表中时会发生类似的转换。

相关问题