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

ayuda obtener uan fecha como fecha y no como caracter

Estas en el tema de ayuda obtener uan fecha como fecha y no como caracter en el foro de Mysql en Foros del Web. Hola lo he intentado ..googleando y todo ... pero nose como hacerlo el select que tengo q es el de la referencia cruzada... me arroja ...
  #1 (permalink)  
Antiguo 02/01/2008, 21:29
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Exclamación ayuda obtener uan fecha como fecha y no como caracter

Hola

lo he intentado ..googleando y todo ... pero nose como hacerlo
el select que tengo q es el de la referencia cruzada... me arroja el resultado osea la fecha de acuerdo al codigo, pero el valor de la fecha lo entrega como carater y no como fecha es decir el resulatdo es 20080102, probe usando el to_date para apsar de caracter a fecha ... alguna funcion o algo con lo que pueda logralo
probe tambien el getdate()

Código:
select codigo
sum(date*(1-abs(sign(id-1)))) as prod1,
sum(date*(1-abs(sign(id-2)))) as prod2,
sum(date*(1-abs(sign(id-3)))) as pord3

from tabla2_ group by codigo
  #2 (permalink)  
Antiguo 03/01/2008, 20:16
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: ayuda obtener uan fecha como fecha y no como caracter

Hola

Es que el problema no es de MySQL sino del driver que te lo devuelve en forma de texto (estoy asumiendo que usas PHP). Probablemente el problema sea que en PHP no tienes campos de tipo fecha (de hecho "tipos" en PHP es algo relativo).

Busca más bien funciones de PHP que te permitan transformas un string en fecha (pero no daré más detalle aquí que igual me regañan )
  #3 (permalink)  
Antiguo 04/01/2008, 07:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Re: ayuda obtener uan fecha como fecha y no como caracter

El problema puede ser también que estás haciendo una operación matemática con un DATE y por default MySQL convierte el DATE a otra cosa, por lo que la respuesta es un INT o un String.

Por caso, si haces:
Cita:
SELECT DATE(NOW()) -45;
el resultado será
Cita:
1963
que es el resultado de
Cita:
2008 - 45 = 1963
Si lo que quieres es hacer operaciones con DATE, DATETIME o TIME, y que te devuelvan DATE, DATETIME o TIME, tienes que usar las funciones de manejo de fechas y horas en MYSQL.

Por ejemplo:

Si quieres saber la diferencia entre dos fechas expresada en días: DATEDIFF(date_final, date_inicial);

Si quieres obtener una fecha con una cantidad x de tiempo agregada: DATE_ADD(fecha, INTERVAL x unidad), DONDE unidad puede ser YEARS, MONTHS, DAYS, HOURS, MINUTES, SECONDS.

En esos casos los conectores (ODBC o .NET) te devolverán los valores en sus tipos primitivos.
  #4 (permalink)  
Antiguo 04/01/2008, 16:19
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: ayuda obtener uan fecha como fecha y no como caracter

hola

tenias toda la razon, osea yo realizaba una operacion matematica y no una operacion de fecha

lo que yo hacia era
Código PHP:
select codigo
sum
(fecha*(1-abs(sign(id-1)))) as prod1,
sum(fecha*(1-abs(sign(id-2)))) as prod2,
sum(fecha*(1-abs(sign(id-3)))) as prod3
from tabla2_ group by codigo 
cuando lo que debia hacer era lo siguiente:
Código PHP:
select codigo
date
(fecha*(1-abs(sign(id-1)))) as prod1,
date(fecha*(1-abs(sign(id-2)))) as prod2,
date(fecha*(1-abs(sign(id-3)))) as prod3
from tabla2_ group by codigo 
y ahi funciona

mil grax

saludos
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 12:48.