在将 DATE 插入 SQL 表时遇到问题



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

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) 
)

这是不断给我一个错误的插入值语句:

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

我做错了什么?

谢谢

使用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);

这可以防止意外错误。

最新更新