SQL错误: ORA-00904: "TIMESTAMP": INVALID IDENTIFIER

标签 sql database oracle

您好,我已经创建了一个表,现在想要添加数据,我有时间戳作为数据类型,但我收到错误,有人可以帮助我吗?

CREATE TABLE Production(
ProductionID INT PRIMARY KEY,
ProductionName VARCHAR2(100) NOT NULL,
ProductionDescription VARCHAR2(250) NOT NULL,
ProductionDate DATE NOT NULL,
ProductionTime TIMESTAMP NOT NULL,
ProductionTypeID INT NOT NULL,
NoOfHelpers CHAR(1) NOT NULL);

INSERT INTO PRODUCTION(PRODUCTIONID, PRODUCTIONNAME, PRODUCTIONDATE, PRODUCTIONTIME, PRODUCTIONTYPEID, NOOFHELPERS)
VALUES(1,'THELONDONSINFONIA', TO_DATE('31-AUG-2004','DD-MON-YYYY'), TIMESTAMP('2014-05-05 20:15:00'), 1, 7);

我正在使用oracle sql Developer创建数据库

这是错误:

Error starting at line : 10 in command -

INSERT INTO PRODUCTION(PRODUCTIONID, PRODUCTIONNAME, PRODUCTIONDATE, PRODUCTIONTIME, PRODUCTIONTYPEID, NOOFHELPERS) VALUES(1,'THELONDONSINFONIA', TO_DATE('31-AUG-2004','DD-MON-YYYY'), TIMESTAMP('2014-05-05 20:15:00'), 1, 7)

Error at Command Line : 11 Column : 69

Error report -

SQL Error: ORA-00904: "TIMESTAMP": invalid identifier 00904. 00000 - "%s: invalid identifier"

*Cause:

*Action:

最佳答案

timestamp 不是一个需要使用 () 的函数,它是一个前缀,就像 n 表示 varchar 实际上包含 Unicode 文本(因此是 varchar2nvarchar)。

所以不要使用这个:

timestamp('2014-05-05 20:15:00')

但是这个:

timestamp'2014-05-05 20:15:00'

关于SQL错误: ORA-00904: "TIMESTAMP": INVALID IDENTIFIER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473313/

相关文章:

日期之间的 SQL/Oracle 聚合桶

php - 使用php编程从Mysql数据库中删除重复的主键

php - 创建哈希以与 Oracle DBMS_UTILITY.get_hash_value 匹配

php - Mysql fetch() 返回 FALSE

database - 在 access 中使用日期/时间类型的列中的文本

node.js - NodeJs + OracleDB + 加载sql文件

php mysql左连接计数列相同的id

c# - SqlParameter 和 IN 语句

oracle - 创建 Oracle 过程

sql - 如何对使用 UNION 的 SQL 查询进行排序,以便它按查询的顺序返回数据?