无法将DATE插入SQL表

时间:2018-05-01 23:44:36

标签: sql oracle

我一直得到一个“ORA-01861:文字与格式字符串ORA-06512不匹配:在”SYS.DBMS_SQL“,第1721行”尝试将DATE值插入下面列出的credit_card表时出错:

builder

这是INSERT VALUES语句,它一直给我一个错误:

    CREATE TABLE CREDIT_CARD 
( 
  cc_card_number VARCHAR(16) NOT NULL, 
  cc_name_on_cc VARCHAR(100) NOT NULL, 
  cc_expiration_date DATE NOT NULL, 
  customer_id INT NOT NULL, 
  PRIMARY KEY (cc_card_number), 
  FOREIGN KEY (customer_id) REFERENCES CUSTOMER(customer_id) 
)

我做错了什么?

由于

1 个答案:

答案 0 :(得分:6)

使用date关键字:

INSERT INTO credit_card
    VALUES ('1111222233334444', 'Bob LoBlah', DATE '1980-12-17', 1);

这允许您将ISO标准日期格式用于日期常量。

我还强烈建议您列出要插入的表中的列:

INSERT INTO CREDIT_CARD (cc_card_number, cc_name_on_cc, cc_expiration_date , customer_id)
    VALUES ('1111222233334444', 'Bob LoBlah', DATE '1980-12-17', 1);

这可以防止意外错误。