SQL: получить дату начала месяца из столбца имени месяца_год - PullRequest
0 голосов
/ 25 марта 2019

У меня есть данные даты, как показано ниже:

 Monthyear
    Jan 2018
    Feb 2018
    Mar 2018

Я хочу преобразовать это в этот формат:

Monthyear
01-01-2018
01-02-2018
01-03-2018

То есть как дата с первой датой месяца.

Я попытался разыграть вышеупомянутое, и оно не работает. Пожалуйста, помогите мне.

Ответы [ 2 ]

2 голосов
/ 25 марта 2019

использование str_to_date()

select str_to_Date(concat('01',Monthyear),"%d %b %Y")
2 голосов
/ 25 марта 2019

Вы можете использовать STR_TO_DATE:

SELECT STR_TO_DATE(CONCAT('1 ', Monthyear), '%e %b %Y')

например,

SELECT STR_TO_DATE(CONCAT('1 ', 'Jan 2018'), '%e %b %Y')

Выход:

2018-01-01

Причина CONCAT ввод '1 ' в строку, чтобы избежать проблем с режимом SQL NO_ZERO_DATE (это обсуждается в ручном вводе для STR_TO_DATE).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...