Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

substr en select mysql

Estas en el tema de substr en select mysql en el foro de Bases de Datos General en Foros del Web. Quiero filtrar los datos del campo fecha e imprimir solo los que sean del '2004' el formato en mi tabla es: 2004-02-07 00:00:00 $anno='2004'; echo ...
  #1 (permalink)  
Antiguo 07/02/2004, 12:07
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años
Puntos: 0
substr en select mysql

Quiero filtrar los datos del campo fecha e imprimir solo los que sean del '2004'

el formato en mi tabla es: 2004-02-07 00:00:00

$anno='2004';
echo $anno;
$result3=mysql_query("select * from stat where SUBSTRING(fecha,1,4)=='$anno'",$link);
while($row3=mysql_fetch_array($result3)){
echo $row3[fecha]."<br>";
}

Gracias por su ayuda
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #2 (permalink)  
Antiguo 07/02/2004, 12:18
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Pero el campo, ¿es de tipo texto o es un datetime? Si es un datetime. deberias usar las funciones de fecha que tiene MySQL: http://www.mysql.com/doc/en/Date_and...functions.html

Por ejemplo, YEAR() devuelve el año.

Y muevo el mensaje a base de datos, ya que es una duda de SQL.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 07/02/2004, 12:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si usas para el campo "fecha" un tipo "DATE" o DATETIME (parece que es este último) .. debes emplear las funciones de tratamiento de fechas que ya incorpora Mysql en su SQL ..

Por ejemplo tienes la funcion simple YEAR(fecha) para quedarte con el año de una fecha completa (DATE o DATETIME) .. y así usarlo en tu condición WHERE de tu consulta .. pero SIN los == (doble igual) .. en Mysql se compara con UN sólo =

Código PHP:
$result3=mysql_query("select * from stat where YEAR(fecha)='$anno'",$link); 
Repasa el manual oficial de Mysql (www.mysql.com) y su SQL particular . .sobre todo si trabajas con fechas acude a dicho tema sobre funciones para tratamiento de fechas desde SQL ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 07/02/2004 a las 12:23
  #4 (permalink)  
Antiguo 07/02/2004, 13:06
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años
Puntos: 0
gracias por las recomendaciones.
Resolvi el problem. :)

Saludos
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:42.