Извлечь год от даты и вставить в новое поле - PullRequest
0 голосов
/ 08 января 2019

Я знаю, что могу извлечь год моего поля order_date с помощью

SELECT YEAR(STR_TO_DATE(ordered_date, "%Y-%m%d")) from wccrm_orders

Я пытался с

insert into wccrm_orders (year) values
(SELECT YEAR(STR_TO_DATE(ordered_date, "%Y-%m%d")) from wccrm_orders)

Но он добавляет пустые записи после последнего идентификатора ...

Как вставить результат в новое поле "год"?

Спасибо за любую помощь.

BR, Stefan

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Это будет делать:

insert into wccrm_orders (year) values(SELECT YEAR(STR_TO_DATE(ordered_date)) from wccrm_orders)

Если нет, попробуйте:

insert into wccrm_orders (year) values(SELECT YEAR(ordered_date) from wccrm_orders)
0 голосов
/ 08 января 2019

Вы ищете update?

update wccrm_orders
    set year = year(str_to_date(ordered_date, '%Y-%m%d'));

Исходя из логики, вы также можете сделать:

update wccrm_orders
    set year = left(ordered_date, 4) + 0;

Не ясно, почему вы хотите хранить дату отдельно от ordered_date. Просто сохраните дату как date или datetime. Затем вы можете рассчитать год, когда вам это нужно.

...