2011-01-16 20 views
19

Necesito convertir un valor varchar de 1/9/2011 a una fecha en mySQL y quiero solo el mes y el año. Para que pueda usar la función PERIOD_DIFF (entonces necesitaría que lo anterior se convierta a 201101).mySQL convertir varchar a la fecha

He intentado varias formas utilizando la función STR_TO_DATE:

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

Pero consigo resultados extraños ... (por ejemplo: 2009-01-00)

¿qué estoy haciendo mal?

Respuesta

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

o

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

difícil saber a partir de su ejemplo

+0

su segundo ejemplo funcionó para mis necesidades. ¡Gracias! – webdad3

1

Como agradecimiento a la ayuda oportuna que tengo de aquí - una actualización menor de arriba.

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