我是SQL的新手,我想创建一个学生表,其中包含学生的出生日期。这是我的代码。我在Visual Studio Code上运行SQLite
create table student
(std_code varchar(8),
std_fname varchar(15) constraint student_std_lname_nn not null,
std_lname varchar(15) constraint student_std_fname_nn not null,
std_gend varchar(8),
maj_code varchar(10) constraint student_maj_code_fk references
major (maj_code),
std_dob date,
constraint student_std_code_pk primary key (std_code));
insert into student values ('S01', 'Michael', 'Jordan', 'M', 'FINC', date(1962-
03-10));
insert into student values ('S02', 'Charles', 'Barkley', 'M', null, date(1964-
09-12));
代码运行没有错误,但是当我运行SELECT * FROM student
时,日期看起来都是错误的。
任何帮助解决该问题的方法将不胜感激。谢谢
答案 0 :(得分:1)
您需要使用单引号'
包含日期字符串。
date(时间字符串,修饰符,修饰符...)
因此,您需要传递DateTime
字符串作为参数。
insert into student values ('S01', 'Michael', 'Jordan', 'M', 'FINC',
'1962-03-10');
insert into student values ('S02', 'Charles', 'Barkley', 'M', null,
'1964-09-12');
或仅使用Date
字符串
insert into student values ('S01', 'Michael', 'Jordan', 'M', 'FINC',
'1962-03-10');
insert into student values ('S02', 'Charles', 'Barkley', 'M', null,
'1964-09-12');
查询#1
select * from student;
| std_code | std_fname | std_lname | std_gend | maj_code | std_dob |
| -------- | --------- | --------- | -------- | -------- | ---------- |
| S01 | Michael | Jordan | M | FINC | 1962-03-10 |
| S02 | Charles | Barkley | M | | 1964-09-12 |