MySQL的date格式 – 难度插入date
我试图进一步提出一个问题,我昨天问我想知道如何查询不同格式的date。 但现在我正在尝试使用此方法插入(请参阅下面),但是我不能得到它的工作。 我已经检查了手册,但它不是初学者友好的!
INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');
将date放在单引号中,并将括号(在'yes'
)移动到结尾:
INSERT INTO custorder VALUES ('Kevin', 'yes' , STR_TO_DATE('1-01-2012', '%d-%m-%Y') ) ; ^ ^ ---parenthesis removed--| and added here ------|
但是你可以使用没有STR_TO_DATE()
函数的date,只需使用(Ymd) '20120101'
或'2012-01-01'
格式。 检查MySQL文档: date和时间文字
INSERT INTO custorder VALUES ('Kevin', 'yes', '2012-01-01') ;
看起来你没有正确地封装你的string。 尝试这个:
INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');
或者,您可以执行以下操作:
INSERT INTO custorder VALUES ('Kevin','yes'), '2012-01-01';
我不确定上面的SQL是否有效,但是,您可能需要将date部分移动到括号中。 如果你能提供确切的错误,我可能会更直接地帮助解决这个问题。
mysql插入查询的date格式是YYYY-MM-DD
例:
INSERT INTO table_name (date_column) VALUE ('YYYY-MM-DD');
自从我遇到这个问题以来,一个附加到以前的答案:
如果你真的想插入类似于24-May-2005
到你的date列,你可以做这样的事情:
INSERT INTO someTable(Empid,Date_Joined) VALUES ('S710',STR_TO_DATE('24-May-2005', '%d-%M-%Y'));
在上面的查询中请注意,如果是May
(即以字母表示的月份),格式应该是%M
。
注意 :我用最新的MySQL版本8.0来试用这个版本,它可以工作!