Rumah > Soal Jawab > teks badan
Saya cuba mencipta jadual dan ini adalah cara saya menyediakannya:
CREATE TABLE emp_tab ( empno NUMeric(10), name VARCHAR(50) NOT NULL, job VARCHAR(50), manager NUMeric(10), hiredate DATE, salary NUMeric(10,2), commission NUMeric(10,2), deptno NUMeric(5), CONSTRAINT pk_emp_tab PRIMARY KEY (empno), CONSTRAINT fk_emp_tab_deptno FOREIGN KEY (deptno) REFERENCES dept_tab(deptno) );
Beginilah cara saya memasukkan nilai:
INSERT INTO emp_tab VALUES(7004, 'SCOTT', 'ANALYST', 7002, date('87-7-13') - 85, 3000, null, 70 ); INSERT INTO emp_tab VALUES(7007, 'ADAMS', 'CLERK', 7003, date('87-7-13') - 51, 1100, null, 40 );
Perkara yang pelik ialah saya tidak mendapat mesej ralat untuk nilai yang dimasukkan pertama, tetapi saya mendapat mesej ralat untuk nilai yang dimasukkan kedua yang berbunyi "Nilai tarikh tidak betul: Lajur "Tarikh Sewa" dalam baris 1 ialah "19870662" "), tetapi kemudian saya mengalih keluar -51 dan ia berjaya. Walau bagaimanapun, ia memberi saya tarikh yang salah, jadi saya tertanya-tanya sama ada ada peluang untuk mengekalkan -51 tanpa ralat?
P粉4867436712024-02-27 20:50:28
Anda harus menggunakan tarikh yang diformatkan dengan betul dan DATE_SUB()
DATE_SUB(DATE('1987-07-13'), INTERVAL 85 DAY)