Ho una string
colonna che funge da a date
e voglio selezionarla come a date
.
È possibile?
Il mio formato di dati di esempio sarebbe; month/day/year
->12/31/2011
Ho una string
colonna che funge da a date
e 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 WHERE
clausole. 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/%Y
modo da STR_TO_DATE('31/11/1015', '%d/%m/%Y')
tenere presente che l'output sarà in YYYY-MM-DD
formato 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