Selección de fechas

12/01/2007 - 10:14 por Don Juan | Informe spam
Hola
Tengo una tabla con un campo de tipo DateTime. Necesito hacer un Select que
me despliegue una sola vez las fechas (dd/MM/yyyy), pero como el campo es
con horas, minutos y segundos cada "fecha" es única (no se repite).
Cómo seleccionar solo el día, mes y año una sola vez ?
p.ej tengo: (año-mes-día horma:minuto:segundo)
2007-10-01 12:10:12
2007-10-01 10:11:01
2006-08-25 01:02:03
2006-08-25 02:03:04

Debería entregar: (día/mes/año)
01/10/2007
25/08/2006

Gracias.

Preguntas similare

Leer las respuestas

#1 Antonio Soto
12/01/2007 - 10:28 | Informe spam
Hola Juan,

solo quieres traerte la fecha? Para eso puedes utilizar primero convert,
para sacar la fecha como quieres, y después puedes utilizar distinct. Sería
algo así:

SELECT DISTINCT convert (varchar, fecha,103)
FROM table

Saludos


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference
"Don Juan" wrote in message
news:
Hola
Tengo una tabla con un campo de tipo DateTime. Necesito hacer un Select
que me despliegue una sola vez las fechas (dd/MM/yyyy), pero como el
campo es con horas, minutos y segundos cada "fecha" es única (no se
repite).
Cómo seleccionar solo el día, mes y año una sola vez ?
p.ej tengo: (año-mes-día horma:minuto:segundo)
2007-10-01 12:10:12
2007-10-01 10:11:01
2006-08-25 01:02:03
2006-08-25 02:03:04

Debería entregar: (día/mes/año)
01/10/2007
25/08/2006

Gracias.

Respuesta Responder a este mensaje
#2 Don Juan
12/01/2007 - 10:55 | Informe spam
Gracias Antonio, he intentado lo que me has dicho y le he modificado un
poco, pero al transformar la fecha a varchar el orden difiere del orden
lódigo de fechas:
select DISTINCT Convert(VarChar,transac_Datetime,103) as Fecha

from transac

Order by Fecha DESC

Este código me ordena desde el día 31 hasta el 1 por ejemplo (todo está en
desorden, pero ordenado como texto).
31/05/2006
30/11/2006
30/10/1978
30/06/2006
30/05/2006
29/11/2006

Cómo ordenarlo como debe ser?
Gracias de antemano.

"Antonio Soto" escribió en el mensaje
news:
Hola Juan,

solo quieres traerte la fecha? Para eso puedes utilizar primero convert,
para sacar la fecha como quieres, y después puedes utilizar distinct.
Sería algo así:

SELECT DISTINCT convert (varchar, fecha,103)
FROM table

Saludos


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference
"Don Juan" wrote in message
news:
Hola
Tengo una tabla con un campo de tipo DateTime. Necesito hacer un Select
que me despliegue una sola vez las fechas (dd/MM/yyyy), pero como el
campo es con horas, minutos y segundos cada "fecha" es única (no se
repite).
Cómo seleccionar solo el día, mes y año una sola vez ?
p.ej tengo: (año-mes-día horma:minuto:segundo)
2007-10-01 12:10:12
2007-10-01 10:11:01
2006-08-25 01:02:03
2006-08-25 02:03:04

Debería entregar: (día/mes/año)
01/10/2007
25/08/2006

Gracias.




Respuesta Responder a este mensaje
#3 Antonio Soto
12/01/2007 - 11:12 | Informe spam
Ordena por el campo en lugar de por la conversión, es decir:

ORDER BY transac_Datetime DESC

Saludos


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference
"Don Juan" wrote in message
news:Ow3rS$
Gracias Antonio, he intentado lo que me has dicho y le he modificado un
poco, pero al transformar la fecha a varchar el orden difiere del orden
lódigo de fechas:
select DISTINCT Convert(VarChar,transac_Datetime,103) as Fecha

from transac

Order by Fecha DESC

Este código me ordena desde el día 31 hasta el 1 por ejemplo (todo está en
desorden, pero ordenado como texto).
31/05/2006
30/11/2006
30/10/1978
30/06/2006
30/05/2006
29/11/2006

Cómo ordenarlo como debe ser?
Gracias de antemano.

"Antonio Soto" escribió en el mensaje
news:
Hola Juan,

solo quieres traerte la fecha? Para eso puedes utilizar primero convert,
para sacar la fecha como quieres, y después puedes utilizar distinct.
Sería algo así:

SELECT DISTINCT convert (varchar, fecha,103)
FROM table

Saludos


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other
person
or entity either by inference or direct reference
"Don Juan" wrote in message
news:
Hola
Tengo una tabla con un campo de tipo DateTime. Necesito hacer un Select
que me despliegue una sola vez las fechas (dd/MM/yyyy), pero como el
campo es con horas, minutos y segundos cada "fecha" es única (no se
repite).
Cómo seleccionar solo el día, mes y año una sola vez ?
p.ej tengo: (año-mes-día horma:minuto:segundo)
2007-10-01 12:10:12
2007-10-01 10:11:01
2006-08-25 01:02:03
2006-08-25 02:03:04

Debería entregar: (día/mes/año)
01/10/2007
25/08/2006

Gracias.








Respuesta Responder a este mensaje
#4 Don Juan
12/01/2007 - 11:17 | Informe spam
Eso no se puede, ya lo he intentado, tengo este error:
Msg 145, Level 15, State 1, Line 2

ORDER BY items must appear in the select list if SELECT DISTINCT is
specified.


Gracias
"Antonio Soto" escribió en el mensaje
news:
Ordena por el campo en lugar de por la conversión, es decir:

ORDER BY transac_Datetime DESC

Saludos


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference
"Don Juan" wrote in message
news:Ow3rS$
Gracias Antonio, he intentado lo que me has dicho y le he modificado un
poco, pero al transformar la fecha a varchar el orden difiere del orden
lódigo de fechas:
select DISTINCT Convert(VarChar,transac_Datetime,103) as Fecha

from transac

Order by Fecha DESC

Este código me ordena desde el día 31 hasta el 1 por ejemplo (todo está
en desorden, pero ordenado como texto).
31/05/2006
30/11/2006
30/10/1978
30/06/2006
30/05/2006
29/11/2006

Cómo ordenarlo como debe ser?
Gracias de antemano.

"Antonio Soto" escribió en el mensaje
news:
Hola Juan,

solo quieres traerte la fecha? Para eso puedes utilizar primero convert,
para sacar la fecha como quieres, y después puedes utilizar distinct.
Sería algo así:

SELECT DISTINCT convert (varchar, fecha,103)
FROM table

Saludos


Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my
sole
views on the subject. It does not represent the views of any other
person
or entity either by inference or direct reference
"Don Juan" wrote in message
news:
Hola
Tengo una tabla con un campo de tipo DateTime. Necesito hacer un
Select que me despliegue una sola vez las fechas (dd/MM/yyyy), pero
como el campo es con horas, minutos y segundos cada "fecha" es única
(no se repite).
Cómo seleccionar solo el día, mes y año una sola vez ?
p.ej tengo: (año-mes-día horma:minuto:segundo)
2007-10-01 12:10:12
2007-10-01 10:11:01
2006-08-25 01:02:03
2006-08-25 02:03:04

Debería entregar: (día/mes/año)
01/10/2007
25/08/2006

Gracias.











email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida