Подтвердить что ты не робот

MySQL конвертировать varchar на сегодняшний день

Мне нужно преобразовать значение varchar 1/9/2011 в дату в mySQL, и я хочу только месяц и год. Чтобы я мог использовать функцию PERIOD_DIFF (так что мне нужно было бы перевести это в 201101).

Я пробовал различные способы, используя функцию STR_TO_DATE:

SELECT STR_TO_DATE(CYOApp_oilChangedDate, '%m/%Y') FROM CYO_AppInfo

Но я получаю странные результаты... (например: 2009-01-00)

Что я делаю неправильно?

4b9b3361

Ответ 1

select date_format(str_to_date('31/12/2010', '%d/%m/%Y'), '%Y%m'); 

или

select date_format(str_to_date('12/31/2011', '%m/%d/%Y'), '%Y%m'); 

трудно сказать из вашего примера

Ответ 2

В качестве благодарности за своевременную помощь я получил отсюда - незначительное обновление выше.

$query = "UPDATE `db`.`table` SET `fieldname`=  str_to_date(  fieldname, '%d/%m/%Y')";