如何在MySQL中用斜杠而不是破折号插入日期类型值?

时间:2019-05-08 10:27:09

标签: mysql sql database date

我一直试图在带有斜杠的日期类型列中插入一个值,但keep会使我为null(成功时)或失败。

CREATE TABLE if not exists EMPLOYEE (
   id primary key,
   dob Date
)

上方是表格的结构

INSERT INTO EMPLOYEE VALUES (1, convert(date, "17/12/2015", 103));
INSERT INTO EMPLOYEE VALUES (1, CAST("15/2/1995" AS DATE));

这两行代码是我尝试过的。 通过使用第一行,它将引发错误。 第二行成功创建了一条记录,但最终在dob列中为NULL。

我实际上已经缩短了它们的可读性,但是如果您需要其他任何内容,我很乐意提供。

1 个答案:

答案 0 :(得分:1)

首先,您应该使用标准格式作为日期:

INSERT INTO EMPLOYEE (id, dob)
    VALUES (1, '2015-12-17');

如果要在MySQL中使用其他格式,请使用str_to_date()

INSERT INTO EMPLOYEE (id, dob)
    VALUES (1, STR_TO_DATE('17/12/2015', '%d/%m/%Y'));

您要使用的CONVERT()函数是SQL Server扩展。它不能在其他数据库中工作(嗯,除了Sybase,因为它确实是Sybase扩展,并且SQL Server基于该代码库)。