realizar rango por mes insertar hora funciones filtrar fechas fecha consultas consulta con buscar mysql sql date-formatting

rango - Convertir marca de tiempo hasta la fecha en la consulta de MySQL



insertar hora en mysql (9)

Quiero convertir una timestamp de timestamp en MySQL a una fecha.

Me gustaría formatear el campo user.registration en el archivo de texto como yyyy-mm-dd .

Aquí está mi SQL:

$sql = requestSQL("SELECT user.email, info.name, FROM_UNIXTIME(user.registration), info.news FROM user, info WHERE user.id = info.id ", "export members");

También probé la conversión de fecha con:

DATE_FORMAT(user.registration, ''%d/%m/%Y'') DATE(user.registration)

Hago eco del resultado antes de escribir el archivo de texto y me sale:

email1; name1; DATE_FORMAT (user.registration, ''% d /% m /% Y''); news1

email2; name2; news2

¿Cómo puedo convertir ese campo a la fecha?


Convertir marca de tiempo hasta la fecha en MYSQL

Haz la tabla con una marca de tiempo entera:

mysql> create table foo(id INT, mytimestamp INT(11)); Query OK, 0 rows affected (0.02 sec)

Inserta algunos valores

mysql> insert into foo values(1, 1381262848); Query OK, 1 row affected (0.01 sec)

Echar un vistazo

mysql> select * from foo; +------+-------------+ | id | mytimestamp | +------+-------------+ | 1 | 1381262848 | +------+-------------+ 1 row in set (0.00 sec)

Convierte el número a una marca de tiempo:

mysql> select id, from_unixtime(mytimestamp) from foo; +------+----------------------------+ | id | from_unixtime(mytimestamp) | +------+----------------------------+ | 1 | 2013-10-08 16:07:28 | +------+----------------------------+ 1 row in set (0.00 sec)

Convierta en un formato legible:

mysql> select id, from_unixtime(mytimestamp, ''%Y %D %M %h:%i:%s'') from foo; +------+-------------------------------------------------+ | id | from_unixtime(mytimestamp, ''%Y %D %M %h:%i:%s'') | +------+-------------------------------------------------+ | 1 | 2013 8th October 04:07:28 | +------+-------------------------------------------------+ 1 row in set (0.00 sec)


Debe convertir la timestamp de timestamp a la date .

select FROM_UNIXTIME(user.registration, ''%Y-%m-%d %H:%i:%s'') AS ''date_formatted''

FROM_UNIXTIME


Lo hice con la función ''fecha'' como se describe here :

(SELECT count(*) as the-counts,(date(timestamp)) as the-timestamps FROM `user_data` WHERE 1 group BY the-timestamps)



Si el campo de registration es realmente del tipo TIMESTAMP , debería poder hacer:

$sql = "SELECT user.email, info.name, DATE(user.registration), info.news FROM user, info WHERE user.id = info.id ";

y el registro debería mostrar como aaaa-mm-dd


Si obtiene la consulta en su salida, debe mostrarnos el código que realmente muestra el resultado. ¿Puedes publicar el código que llama a requeteSQL?

Por ejemplo, si ha utilizado comillas simples en php, imprimirá el nombre de la variable, no el valor

echo ''foo is $foo''; // foo is $foo

Esto suena exactamente como su problema y estoy seguro de que esta es la causa.

Además, intente eliminar el símbolo @ para ver si eso le ayuda al darle más información.

así que eso

$SQL_result = @mysql_query($SQL_requete); // run the query

se convierte

$SQL_result = mysql_query($SQL_requete); // run the query

Esto detendrá cualquier supresión de errores si la consulta arroja un error.


Solo usa la función DATE de mysql:

mysql> select DATE(mytimestamp) from foo;


Tratar:

SELECT strftime("%Y-%d-%m", col_name, ''unixepoch'') AS col_name

Formateará la marca de tiempo en milisegundos en la cadena aaaa-mm-dd.


DATE_FORMAT(FROM_UNIXTIME(`user.registration`), ''%e %b %Y'') AS ''date_formatted''