2011-01-16 20 views
19

Ho bisogno di convertire un valore varchar del 1/9/2011 in una data in mySQL e voglio solo il mese e l'anno. In modo che io possa quindi utilizzare la funzione PERIOD_DIFF (quindi avrei bisogno di convertire il precedente in 201101).mySQL convertire varchar alla data

Ho provato vari modi usando la funzione STR_TO_DATE:

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

Ma ottengo risultati strani ... (ad esempio: 2009-01-00)

cosa sto facendo in modo errato?

risposta

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'); 

difficile dire dal vostro esempio

+0

il tuo secondo esempio ha funzionato per le mie esigenze. Grazie! – webdad3

1

Come ringraziamento per l'aiuto tempestivo ho avuto da qui - un aggiornamento minore sopra.

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