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

Convertir datetime a date ... Help

Estas en el tema de Convertir datetime a date ... Help en el foro de Mysql en Foros del Web. Estoy haciendo un reporte en reporting service y estoy enviando parametros de fechas a la base de datos... Y no me devuelve nada ... Es ...
  #1 (permalink)  
Antiguo 17/01/2011, 13:54
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Pregunta Convertir datetime a date ... Help

Estoy haciendo un reporte en reporting service y estoy enviando parametros de fechas a la base de datos... Y no me devuelve nada ... Es por q en la base de datos la fecha es tipo date y el parametro que estoy enviando es un datetime .. Como es la sintaxis o que instruccion puedo utilizar para realizarla .... En algunos sitios e visto que usan el date_format pero no me funciona... Yo lo e echo en sql server con el convert .. Pero en mysql no encuentro la forma .. Espero me puedan ayudar ... Gracias ...:d
  #2 (permalink)  
Antiguo 17/01/2011, 15:22
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 13 años, 5 meses
Puntos: 34
Respuesta: Convertir datetime a date ... Help

Depende del lenguaje que estes utilizando existen funciones para ello, pero eso es dentro del lenguaje de programacion que estas manejando.
__________________
El ego es el mayor enemigo de un hombre inteligente.
  #3 (permalink)  
Antiguo 17/01/2011, 15:23
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 12 años, 11 meses
Puntos: 447
Respuesta: Convertir datetime a date ... Help

Prueba con date() así:

Código MySQL:
Ver original
  1. select now(), date(now()) from dual

la función date() te regresa justamente el día de un datetime (es decir sin tomar las horas).

Código:
now()|date(now())
-----------------------------------
2011-01-17 15:18:10|2011-01-17
Prueba y nos comentas

Saludos
Leo
  #4 (permalink)  
Antiguo 17/01/2011, 15:26
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 9 años, 7 meses
Puntos: 461
Respuesta: Convertir datetime a date ... Help

puedes usar la funcion DATE_FORMAT de MySQL para trabajar ese tipo de campos saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 17/01/2011, 15:31
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

estoy utilizando mysql pero mis parametros en reporting service son... @desde y @hasta... cuando los envio hago algo asi ..

SELECT c.GNSLink1_GNS,GNSCodigo, c.GNSNombre,

(SELECT GNSNombre FROM 015GNS WHERE c.GNSLink1_GNS = GNSCodigo) AS Nombre_patrocinador

FROM 015GNS AS c
WHERE GNSFecha1 BETWEEN rtrim(DATE_FORMAT(@desde,GET_FORMAT(DATE,'JIS'))) and rtrim(DATE_FORMAT(@hasta,GET_FORMAT(DATE,'JIS')));

ese esmi reporte pero no me devuelve nada ... como aplicaria el now ?
  #6 (permalink)  
Antiguo 17/01/2011, 15:51
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 9 años, 7 meses
Puntos: 461
Respuesta: Convertir datetime a date ... Help

amigo con date format deberia de ser asi
Código MySQL:
Ver original
  1. SELECT campos FROM tabla WHERE DATE_FORMAT(campo,'%Y-%m-%d') = '2000-12-24';
por ponerte un ejemplo aplica este sencillo formato a tu consulta y te dara resultados saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 18/01/2011, 10:29
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

eso fue lo que coloque pero nada que ver no me trae informacion de la bd :S ...
  #8 (permalink)  
Antiguo 18/01/2011, 10:46
 
Fecha de Ingreso: enero-2011
Ubicación: Lima - Perú
Mensajes: 9
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: Convertir datetime a date ... Help

Hola, el NOW() lo debes colocar dentro del SELECT en tu consulta, te recomendaria que hagas consultas sencillas y vayas probando los comandos antes mencionado ya estos comandos funcionan perfectamente tanto en Mysql como Sql server. Lo mas probable es que exista un error en tu consulta.

Saludos.
  #9 (permalink)  
Antiguo 19/01/2011, 08:12
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

Walter entiendo tu punto pero cuando hago la consulta en mysql directamente o en sqlyog me sale perfectamente , el problema es cuando intento convertir el parametro de reporting service a un formato date, no hace la conversion , e buscado en muchos foros y nadie me a podido ayudar, no c aun como convertir el datetime del parametro en reporting service en date, para posteriormente enviarlo a la base de datos y pueda relizar la consulta ... espero si alguien puede ayudarme .. gracias
  #10 (permalink)  
Antiguo 21/01/2011, 07:47
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

Cita:
Iniciado por waltercaraza Ver Mensaje
Hola, el NOW() lo debes colocar dentro del SELECT en tu consulta, te recomendaria que hagas consultas sencillas y vayas probando los comandos antes mencionado ya estos comandos funcionan perfectamente tanto en Mysql como Sql server. Lo mas probable es que exista un error en tu consulta.

Saludos.

si walter ya eso lo intente pero ... con ninguna funcion puedo convertir la fecha, nisiquiera puedo extraerla, cuando muestro por pantalla el parametro una vez echa la conversion me coloca el mismo formato de fecha que no quiero
  #11 (permalink)  
Antiguo 21/01/2011, 08:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Convertir datetime a date ... Help

Volvamos a lo básico:
Cuando envías una fecha al MySQL usando esos parámetros, ¿qué es lo que realmente recibe MySQL?
Es decir, qué es lo que devolvería, cuando recibes la tabla devuelta, por ejemplo de esto:
Código MySQL:
Ver original
  1.     @desde parametro1,
  2.     @hasta parametro2,
  3.     rtrim(DATE_FORMAT(@desde,GET_FORMAT(DATE,'JIS'))) `DESDE`,
  4.     rtrim(DATE_FORMAT(@hasta,GET_FORMAT(DATE,'JIS'))) `HASTA`;
Sobre la base de eso, podemos decidir qué es lo que hay que hacer...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 24/01/2011, 06:56
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

ya esa prueba la hice... corriendo el query desde reporting service y nisiquiera me hace la conversion.... ya probe el date format, probe date part, probe el year, month, day, cast :S ..., no me devuelve nada si corro el query desde reporting service ... cuando lo corro directamente demysql si me funciona
  #13 (permalink)  
Antiguo 24/01/2011, 07:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Convertir datetime a date ... Help

No me digas que ya la hiciste. HAZLA DE NUEVO.
Yo no puedo saber cómo la hiciste o qué tal se ejecutó porque no estoy sentado en tu computadora.
De lo que dices se infiere que el problema está en lo que Reporting Services envía, ya que si la ejecutas manualmente si responde. Conclusión obvia: La sentencia está bien, pero RS no la manda como debe, ergo, el problema está en el RS.

Hazla otra vez y verifica dos cosas:
1) Qué es lo que realmente ReportigServices está enviando realmente como consulta.
2) Qué es lo que los parámetos contienen al ser enviados.
3) QUé es lo que MySQL responde, si responde algo, incluyendo mensajes de error, si es que los puedes obtener.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 24/01/2011, 15:30
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

Si amigo efectivamente es el RS, es mas le asigne un valor a el parametro y simplemente lo imprimi por pantalla y nada que ver, no me lo muestra.... estoy intentando aun resolver el problema ... de todas maneras si conoces alguna posible solucion te agradeceria... por ahora estoy intentando declarar el parametro directamente desde el query pero cuando intento declarar una variable me da error... tambien me da error en sqlyog ... :S la sintaxis que utilizo es la siguiente .... DECLARE variable INT; Y ME DA ERROR DE SINTAXIS
  #15 (permalink)  
Antiguo 24/01/2011, 15:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Convertir datetime a date ... Help

¿La variable la está declarando dentro de un stored procedure, o tratas de declararla directamente como sentencia?
Pregunto porque las variables de ese tipo son locales de los SP y sólo existen en los SP, y las variables de usuario no se declaran, se inicializan.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 26/01/2011, 07:20
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

a ok amigo ... muchas gracias por aclararme esa duda ... yo declaro las varibles... DECLARE variable INT, en este caso como haria para declararla.. quiero almacenar en una variable el valor del parametro fecha.... para realizaralgunas pruebas ...
  #17 (permalink)  
Antiguo 26/01/2011, 08:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Convertir datetime a date ... Help

Las variables de usuario, que son las que aparentemente necesitas, son variables que existen en una sesión de MySQL, y sólo para la del usuario que se ha conectado. Esto significa que el mismo usuario, en conexiones diferentes y simultáneas puede crear variables que no comparten nada; incluso llevando el mismo nombre.

Como existen dentro de una conexión, si esta se cierra o se interrumpe, las variables se pierden con todos sus valores.

Las variables son permanentes dentro de la conexión. Esto significa que si son creadas por sentencias o stored procedures ejecutados en una conexión, siguen existiendo luego de terminada la ejecución, así como también conservan el último valor asignado; debido a esto, es conveniente que sean reinicializadas cada vez que se las va a usar, a menos que el valor conservado sea relevante para la operación.


Las variables de usuario se caracterizan por:

1) Llevan una arroba (@) como prefijo: @variable2, @ventas, @entero, etc.
2) No poseen tipo, por lo que su valor inicial es NULL. SI se los usa directamente, desaparece todo lo que se les asigne, salvo su inicialización (toda operación con NULL da NULL).
3) Para ser usados deben ser incializados. Esto se hace asingandoles un valor con SET (por ejemplo: SET @valor=0;). Recién allí poseen tipo.

Nota: Es posible que el uso de estas variables no sea operativo en ciertas interfases que ejecutan cada sentencia en una conexión distinta, precisamente por su dependencia de la conexión en sí.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #18 (permalink)  
Antiguo 26/01/2011, 14:41
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

amigo estoy intentando asignarle un valor a una variable y me da error ... estoy haciendo una simple prueva... y no me funciona .. esta es la prueba:

SET @a = 'asdqwe';
SELECT @a;
  #19 (permalink)  
Antiguo 26/01/2011, 15:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Convertir datetime a date ... Help

¿No te funciona en qué contexto? ¿Qué aplicación? ¿Ejecutada de qué forma?
¿Te da error y qué dice el mensaje?

Trata de ser claro y específico, de lo contrario no se puede saber por dónde empezar

Copiando tu ejemplo y ejecutando en consola de MySQL:


Código MySQL:
Ver original
  1. mysql> SET @a = 'asdqwe';
  2. Query OK, 0 rows affected (0.02 sec)
  3.  
  4. mysql> SELECT @a;
  5. +--------+
  6. | @a     |
  7. +--------+
  8. | asdqwe |
  9. +--------+
  10. 1 row in set (0.00 sec)
Funciona OK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #20 (permalink)  
Antiguo 27/01/2011, 13:15
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

bueno ya lo hice .. pero como te dige en sql yog si puedoejecutarlo, pero no puedo hacerlo en reporting service este es el error que me da....

SET @a ='sasd';
select GNSNombre, GNSCodigo, @a from 015GNS;

ERROR [42000] [MySQL][ODBC 5.1 Driver][mysqld-5.1.41-3ubuntu12]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select GNSNombre, GNSCodigo, @a from 015GNS' at line 2

Última edición por m1di; 27/01/2011 a las 13:33
  #21 (permalink)  
Antiguo 27/01/2011, 13:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Convertir datetime a date ... Help

Código MySQL:
Ver original
  1. select GNSNombre, GNSCodigo, @a from 015GNS;
Es muy probable que el problema se produzca por el nombre que le has dado a la tabla. MySQL puede estar reconociendo mal un nombre que comienza con números (normalmente eso no se admite en los DBMS).
Ponla con acentos inversos, así:

Código MySQL:
Ver original
  1. select GNSNombre, GNSCodigo, @a from `015GNS`;
Además, ponle un alias a la variable. Por las dudas.

Supongo que no estás intentando ejecutar las dos sentencias en una sola llamada, ¿no?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #22 (permalink)  
Antiguo 31/01/2011, 07:23
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

yo lo estoy colocando tal cual y como tu me estas diciendo ... en busines inteligent reporting service... i me sale el error que te dige ..... no se que provabilidades hay de que pueda estar afectando eldriver del odbc... aunque no creo por q es el nuevo .
  #23 (permalink)  
Antiguo 31/01/2011, 07:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Convertir datetime a date ... Help

Driver nuevo no implica bueno, correcto, o eficiente. Sino, todas las versiones de Windows hubieran sido buenas
Tu problema es el de muchos: como estás usando al menos dos componentes intermedios para comunicarte con MySQL, en realidad estás sumando los defectos de ambos. No estoy seguro de cómo hace cada uno de ellos para manejar internamente las peticiones a la base de datos, y no estoy seguro de qué tipo de basura le agrega cada uno de ellos al problema.
De lo que sí estoy seguro es que el ODBC es uno de los peores conectores que se puede usar para comunicarse con una base de datos, incluso si ese conector es el MySQL ODBC connector.

Hay que segmentar y escalonar las pruebas:
1) Verifica la documentación de BIRS, para ver si hay reportes de problemas de este tipo y qué solución se recomienda.
2) Verifica con otra interfase la consulta.
3) Verifica con otra aplicación si el ODBC está enviando y recibiendo bien la cosnulta y el resultado.
4) Verifica con el BIRS si lo que le pones llega bien a MySQL vía ODBC.

En cualquier caso lo que seguro debes hacer es probar si la sentencia, ejecutada directamente contra el motor de MySQL devuelve o no resultados, y si devuelve errores, cuáles son. Mi consejo es que te saltees el Busines Inteligent Reporting Service, y pruebes la consulta manualmente con una iterface del tipo MySQL Workbench, phpMyAdmin o Navicat, para verificar que no es la consulta en sí lo que falla.
Esto, por inútil que te parezca, es una prueba crítica, porque todo lo que intentes hacer sin esa comprobación es basura. De nada sirve que busques la mejor forma de pasarle la consulta al Busines Inteligent Reporting Service, si la consulta no está bien escrita, y de nada sirve cambiar cosas a la consulta, si la misma está correctamente escrita y los errores los pone el BIRS.

Todo lo demás, es fútil
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #24 (permalink)  
Antiguo 31/01/2011, 08:34
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

De todas maneras amigo estube buscando por la web referente al error que me sale y casualmente me encontre a un usuario de esta web .. la cual tu ayudastes implementando MySQL connector... pero la verdad no se como usarlo ...si me podrias ayudar en el caso ... ya otro usuario le paso lo mismo y lo soluciono graciasa tu ayuda .... la veerdad me urge estoy barado y no e podido avanzar ya que todos los reportes que voy a realizar necesitan ser filtrados por una fecha .... gracias amigo ... espero tu respuesta ....saludos
  #25 (permalink)  
Antiguo 31/01/2011, 09:25
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

ok estoy intentando realizar tus prubas pero nunca e manejado el birs y no c como usarlo.... la otra cosa es que ya te habia dicho que la consulta esta bien echa yo la e probado en sql yog ... ahora bien... no entiendo ... ya yo corrobore en sql yog que la consulta esta bien escrita... me trae perfectamente la infomacion que solicito ... para que deveria de hacerla en phpmyadmin por ejemplo ... ?
  #26 (permalink)  
Antiguo 31/01/2011, 13:57
 
Fecha de Ingreso: enero-2011
Mensajes: 58
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Convertir datetime a date ... Help

ahora relize otra prueba ... hice la consulta en bisnes inteligent con un odbc de sql server ... y me funciono perfecto ... al parecer el problema es con el odbc .... por eso te comente en el post pasado si no existe otra manera de conectarme..... ya e probado tambien con versiones de odbc anteriores y nada que me funciona
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 09:18.