Ответ 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');
трудно сказать из вашего примера
Мне нужно преобразовать значение 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)
Что я делаю неправильно?
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');
трудно сказать из вашего примера
В качестве благодарности за своевременную помощь я получил отсюда - незначительное обновление выше.
$query = "UPDATE `db`.`table` SET `fieldname`= str_to_date( fieldname, '%d/%m/%Y')";