2011-03-05 59 views

Respuesta

173

Como se le dijo que aquí MySQL Using a string column with date text as a date field, puede hacerlo

SELECT STR_TO_DATE(yourdatefield, '%m/%d/%Y') 
FROM yourtable 

También puede manejar estas cadenas de fecha en las cláusulas WHERE. Por ejemplo

SELECT whatever 
    FROM yourtable 
WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAYS 

Puede gestionar todo tipo de diseños de fecha/hora de esta manera. Por favor refiérase a los especificadores de formato para la función DATE_FORMAT() para ver lo que puede poner en el segundo parámetro a STR_TO_DATE()

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

+3

Creo que debería ser INTERVALO 7 DÍAS en lugar de DÍAS –

+0

Tengo una columna como el formato "dd-mmm-aaaa". ¿Cómo consulto el formato "dd-mm-aaaa"? – MAX

29
STR_TO_DATE('12/31/2011', '%m/%d/%Y') 
+0

Cuál es la fecha se almacena como formato DD/MM/AAAA como 31/11/1015? –

+1

@VipulHadiya cambie la cadena de formato de fecha a '% d /% m /% Y' como 'STR_TO_DATE ('31/11/1015', '% d /% m /% Y')' Tenga en cuenta que la salida estar en formato 'AAAA-MM-DD' como tipo de datos 'FECHA'. – fyrye

6

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
utilizar la página anterior para referirse más funciones en MySQL

SELECT STR_TO_DATE(StringColumn, '%d-%b-%y') 
FROM table 

decir, por ejemplo, utilice la consulta a continuación para obtener la salida

SELECT STR_TO_DATE('23-feb-14', '%d-%b-%y') FROM table 

Para el formato de cadena utilizan el siguiente enlace

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

5

de otro dos ejemplos aquí.

Para emitir el día, el mes y el año, puede utilizar:

select STR_TO_DATE('14/02/2015', '%d/%m/%Y'); 

que produce:

2015-02-14

Para emite también el momento , puede usar:

select STR_TO_DATE('14/02/2017 23:38:12', '%d/%m/%Y %T'); 

que produce:

2017-02-14 23:38:12

Cuestiones relacionadas