Ho una stringcolonna che funge da a datee voglio selezionarla come a date.
È possibile?
Il mio formato di dati di esempio sarebbe; month/day/year->12/31/2011
Ho una stringcolonna che funge da a datee voglio selezionarla come a date.
È possibile?
Il mio formato di dati di esempio sarebbe; month/day/year->12/31/2011
Risposte:
Come è stato detto in MySQL , puoi usare una colonna stringa con il testo della data come campo della data
SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y')
FROM yourtable
Puoi anche gestire queste stringhe di date nelle WHEREclausole. Per esempio
SELECT whatever
FROM yourtable
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAY
In questo modo è possibile gestire tutti i tipi di layout di data / ora. Fare riferimento agli identificatori di formato per la DATE_FORMAT()funzione per vedere cosa è possibile inserire nel secondo parametro di STR_TO_DATE().
STR_TO_DATE('12/31/2011', '%m/%d/%Y')
%d/%m/%Ymodo da STR_TO_DATE('31/11/1015', '%d/%m/%Y')tenere presente che l'output sarà in YYYY-MM-DDformato come DATE tipo di dati.
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
utilizza la pagina sopra per fare riferimento a più funzioni in MySQL
SELECT STR_TO_DATE(StringColumn, '%d-%b-%y')
FROM table
ad esempio, utilizzare la query seguente per ottenere l'output
SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table
Per il formato String utilizzare il seguente link
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
Ecco altri due esempi.
Per generare il giorno, il mese e l'anno, puoi usare:
select STR_TO_DATE('14/02/2015', '%d/%m/%Y');
Che produce:
2015/02/14
Per generare anche l'ora, è possibile utilizzare:
select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T');
Che produce:
14/02/2017 23:38:12