如何解决如何在SQL的日期字段中插入日期
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| course | varchar(50) | YES | | NULL | |
| sdate | date | YES | | NULL | |
| edate | date | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
这是查询:
insert into dummy values('Tanzeel','sql Bootcamp',5/28/2020 12:00 AM,11/20/2020 12:00 AM);
insert into dummy values('John','ReactJS for Beginners',6/28/2020 12:00 AM,10/20/2020 12:00 AM);
但是我遇到了这个错误:
您的sql语法有误;请查看与您的MysqL服务器版本相对应的手册,以在第1行的'12:00 AM,11/20/2020 12:00 AM)'附近使用正确的语法
日期格式显然有问题,所以我检查了此链接:
我尝试将日期放在单引号中,这会导致此错误:
我也尝试过以下格式:
Date and Time Conversions Using SQL Server
解决方法
对于MySql,您的日期格式为'%m/%d/%Y %h:%i %p'
。
因此可以使用str_to_date()
进行转换:
insert into dummy values(
'Tanzeel','SQL Bootcamp',str_to_date('5/28/2020 12:00 AM','%m/%d/%Y %h:%i %p'),str_to_date('11/20/2020 12:00 AM','%m/%d/%Y %h:%i %p')
);
或以默认格式插入它们:
insert into dummy values(
'Tanzeel','2020-05-28 00:00:00','2020-11-20 00:00:00'
);
,
您不应该依赖默认的日期格式。相反,通常最好将其明确声明。例如:
INSERT INTO dummy
VALUES ('Tanzeel',STR_TO_DATE('2020-05-28 12:00','%Y-%m-%d %H:%i'),STR_TO_DATE('2020-20-11 12:00','%Y-%m-%d %H:%i')
);
,
最简单的方法是使用标准SQL 时间戳文字,该文字要求使用“ YYYY-MM-DD HH:Mi:SS”格式
insert into tab values(
'Tanzeel',timestamp '2020-05-28 00:00:00',timestamp '2020-11-20 00:00:00'
);
但是如果您有DATE列,则不需要插入时间戳,请使用 date文字。
insert into tab values(
'Tanzeel',date '2020-05-28',date '2020-11-20'
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。