QUERY

21/07/2003 - 19:06 por Ricardo Garcia | Informe spam
Tengo una tabla en la cual hay un campo de tipo Texto, en
donde pongo la semana del año y el año, por ejemplo:

1-2003
2-2003
3-2003
10-2003
11-2003

Al hacer un query y ordenarlos por este campo, me los pone
asi:

1-2003
10-2003
11-2003
2-2003
3-2003

y necesito que los pusiera como esta en el primer ejemplo.

Como puedo hacerlo mediante SQL Server???

Preguntas similare

Leer las respuestas

#1 Victor Koch
21/07/2003 - 19:42 | Informe spam
Es correcto lo que hace SQLServer, esta ordenando por un campo Texto,
SQLServer no tiene forma de saber que vos en ese campo estas almacenando
fechas, por lo tanto los trata como campos de Texto, entonces al ser
tratados asi 10 es mas chico que 2, porque cuando comienza la compraracion
paa saber cual es mayor toma el primer digito el 1 del valor 10 y lo
comprara con el primer digito de 2, o sea 2, y el uno esta antes que el dos.
Yo te diria que si queres seguir manejando campos Textos para las fechas las
guardes en formato YYYY-MM, es decir para tu caso guarda las fechas de la
siguiente manera

2003-01
2003-02
2003-03
2003-10
2003-11

Un saludo, Víctor Koch.


"Ricardo Garcia" escribió en el mensaje
news:0aa401c34faa$6faf4d20$
Tengo una tabla en la cual hay un campo de tipo Texto, en
donde pongo la semana del año y el año, por ejemplo:

1-2003
2-2003
3-2003
10-2003
11-2003

Al hacer un query y ordenarlos por este campo, me los pone
asi:

1-2003
10-2003
11-2003
2-2003
3-2003

y necesito que los pusiera como esta en el primer ejemplo.

Como puedo hacerlo mediante SQL Server???
Respuesta Responder a este mensaje
#2 Ricardo Garcia
21/07/2003 - 20:28 | Informe spam
Gracias Victor por tu sugerencia. Lo que pasa es que son
ya varias tablas las que tengo funcionando de este modo, y
me gustaria dejarlo como ultima opcion.

Logre que funcione de este modo:

SELECT *,
CAST(REVERSE(SUBSTRING(REVERSE(SemanaAno),
6, 3)) AS int) AS SemanaAnoX
FROM TabalX ORDER BY SemanaAnoX

PERO,

No habra un modo mas standard, me refiero a que tambien,
funcione por ejemplo con access.

De antemano muchas gracias.
Respuesta Responder a este mensaje
#3 Gustavo Godoy
21/07/2003 - 21:01 | Informe spam
No seria conveniente, ya que es un campo texto, que en lugar de guardar "1"
para la semana, lo hagas como "01", de esta forma lo ordenaria como tu
quieres
Saludos. gustavo

"Ricardo Garcia" escribió en el mensaje
news:0aa401c34faa$6faf4d20$
Tengo una tabla en la cual hay un campo de tipo Texto, en
donde pongo la semana del año y el año, por ejemplo:

1-2003
2-2003
3-2003
10-2003
11-2003

Al hacer un query y ordenarlos por este campo, me los pone
asi:

1-2003
10-2003
11-2003
2-2003
3-2003

y necesito que los pusiera como esta en el primer ejemplo.

Como puedo hacerlo mediante SQL Server???
Respuesta Responder a este mensaje
#4 Edgar Contreras
22/07/2003 - 19:52 | Informe spam
Otra manera es que te averiguaras el uso de los Stored Procedures, dentro
del cual puedes hacer todas las operaciones y asi simplemente regresar el
cursor con los datos requeridos por el cliente y asi dejarias de manera
independiente tu aplicacion del motor de base de datos, y aunque bien es
cierto que Access no tiene stored procedures, podrias usar los Querys para
trabajar con los datos y llamarlos como una tabla desde tu aplicacion.

Pero es solo una idea. :)

Saludos.
Edgar Contreras


(Guía de netiquette del foro)
http://perso.wanadoo.es/rubenvigon/foro

"La informacion es presentada como es y sin garantia alguna"



"Ricardo Garcia" wrote in message
news:0aa401c34faa$6faf4d20$
Tengo una tabla en la cual hay un campo de tipo Texto, en
donde pongo la semana del año y el año, por ejemplo:

1-2003
2-2003
3-2003
10-2003
11-2003

Al hacer un query y ordenarlos por este campo, me los pone
asi:

1-2003
10-2003
11-2003
2-2003
3-2003

y necesito que los pusiera como esta en el primer ejemplo.

Como puedo hacerlo mediante SQL Server???
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida