Как вставить значение типа даты с косой чертой вместо черты в MySQL? - PullRequest
1 голос
/ 08 мая 2019

Я пытался вставить значение в столбец типа даты с косой чертой, но keep дает мне либо ноль (при успехе), либо сбой.

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 Ответ

1 голос
/ 08 мая 2019

Во-первых, вы должны просто использовать стандартный формат даты:

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'));

The CONVERT() функция, которую вы пытаетесь использовать, является расширением SQL Server.Он не работает в других базах данных (ну, кроме Sybase, потому что это действительно расширение Sybase, а SQL Server основан на этой кодовой базе).

...