Foros del Web » Programando para Internet » PHP »

separar fecha 20120712 en consulta sql

Estas en el tema de separar fecha 20120712 en consulta sql en el foro de PHP en Foros del Web. Hola a todos Tengo un campo que viene asi 20120712 pero como necesito compararlo con otro campo requiero separarlo asi 2012-07-12 porque le otro campo ...
  #1 (permalink)  
Antiguo 19/12/2012, 11:20
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Información separar fecha 20120712 en consulta sql

Hola a todos

Tengo un campo que viene asi 20120712 pero como necesito compararlo con otro campo requiero separarlo asi 2012-07-12 porque le otro campo se encuentra separado por -, como puedo hacer dicha operacion?

Gracias por la asesoria
  #2 (permalink)  
Antiguo 19/12/2012, 11:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: separar fecha 20120712 en consulta sql

Usa funciones para manejo de texto, usando substr() debe bastar.
http://php.net/manual/en/book.strings.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/12/2012, 11:30
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: separar fecha 20120712 en consulta sql

ok voy a revisar y les cuento si me funciona y como quedo
  #4 (permalink)  
Antiguo 19/12/2012, 12:20
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Respuesta: separar fecha 20120712 en consulta sql

Buenas

si el campo donde tienes el valor es date, entonces lo puedes obtener mediante una consulta DATE_FORMAT( `campo_date` , '%Y-%m-%d' ) as fecha

o

si es un campo texto te aconsejo que mires

http://dev.mysql.com/doc/refman/5.5/...tion_substring

con esto obtienes por pedazos el valor

mysql> SELECT SUBSTRING('Quadratically',5,6);
-> 'ratica'

despues concatenas todos con los separadores que desees

saludos
__________________
"No te preocupes si no funciona bien. Si todo lo hiciera, no tendrías trabajo."
"El problema no es no saber, sino no saber quién sabe"
..::Con Karma se piensa mejor::..
  #5 (permalink)  
Antiguo 19/12/2012, 12:24
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: separar fecha 20120712 en consulta sql

excelente rodno, me gusto mas asi... voy a intentar y te cuento !!
  #6 (permalink)  
Antiguo 19/12/2012, 12:34
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Respuesta: separar fecha 20120712 en consulta sql

Buenas

SELECT CONCAT(SUBSTRING('20121219',1,4),'-',SUBSTRING('20121219',5,2), '-', SUBSTRING('20121219',7,2)) as campo ;

return 2012-12-19

saludos
__________________
"No te preocupes si no funciona bien. Si todo lo hiciera, no tendrías trabajo."
"El problema no es no saber, sino no saber quién sabe"
..::Con Karma se piensa mejor::..
  #7 (permalink)  
Antiguo 19/12/2012, 12:40
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: separar fecha 20120712 en consulta sql

jejeje muchas gracias RODNO, funciono de MARAVILLA,
  #8 (permalink)  
Antiguo 19/12/2012, 14:28
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Respuesta: separar fecha 20120712 en consulta sql

Buenas,

creo que seria mucho mejor cambiando CONCAT por CONCAT_WS, se ve mas elegante

SELECT CONCAT_WS('-',SUBSTRING('20121219',1,4),SUBSTRING('20121219',5 ,2), SUBSTRING('20121219',7,2)) as campo ;

return 2012-12-19

saludos
__________________
"No te preocupes si no funciona bien. Si todo lo hiciera, no tendrías trabajo."
"El problema no es no saber, sino no saber quién sabe"
..::Con Karma se piensa mejor::..
  #9 (permalink)  
Antiguo 19/12/2012, 15:35
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
Respuesta: separar fecha 20120712 en consulta sql

¿Y no has probado así?:
Código MySQL:
Ver original
  1. SELECT STR_TO_DATE('20121219', '%Y%m%d') dia;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 20/12/2012, 06:11
Avatar de mager3  
Fecha de Ingreso: junio-2012
Ubicación: Medellin
Mensajes: 318
Antigüedad: 11 años, 10 meses
Puntos: 4
Respuesta: separar fecha 20120712 en consulta sql

Muchas gracias , probe de las dos formas y funcionan de maravilla ... Karma +
  #11 (permalink)  
Antiguo 20/12/2012, 06:20
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
Respuesta: separar fecha 20120712 en consulta sql

Consejo: Usa la más simple.
__________________
¿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 20/12/2012, 07:47
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
Respuesta: separar fecha 20120712 en consulta sql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Consejo: Usa la más simple.
Coincido con gnzsoloyo

Saludos
__________________
"No te preocupes si no funciona bien. Si todo lo hiciera, no tendrías trabajo."
"El problema no es no saber, sino no saber quién sabe"
..::Con Karma se piensa mejor::..

Etiquetas: mysql
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 03:57.