Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ordenar tabla temporal (https://www.clubdelphi.com/foros/showthread.php?t=96355)

ingel 14-09-2023 17:39:23

Ordenar tabla temporal
 
Buen dia a todos y gracias por su tiempo. Tengo una Tabla temporal con campos de tipo Varchar. Estoy usando la propiedad IndexFieldName para ordenarla , pero me surgió la necesidad de ordenar segun FECHA , que en este caso esta en al CAMPO3 de la tabla. Pero obviamente me lo ordena como varchar. Intente poner un CAST(campo3 as datetime) -que si lo ordena bien- pero como es un nombre de campo no me lo permite.
Tengo alguna otra forma de hacerlo con ese componente? (TTable) Gracias. sds

Casimiro Notevi 15-09-2023 10:59:04

Creo que no queda muy claro de los datos que tienes, tipos y demás. ¿El TTable de qué componentes es?
¿Puedes poner ejemplos de datos?

Neftali [Germán.Estévez] 15-09-2023 12:38:50

Cita:

Empezado por ingel (Mensaje 552499)
Buen dia a todos y gracias por su tiempo. Tengo una Tabla temporal con campos de tipo Varchar. Estoy usando la propiedad IndexFieldName para ordenarla , pero me surgió la necesidad de ordenar segun FECHA , que en este caso esta en al CAMPO3 de la tabla. Pero obviamente me lo ordena como varchar. Intente poner un CAST(campo3 as datetime) -que si lo ordena bien- pero como es un nombre de campo no me lo permite.
Tengo alguna otra forma de hacerlo con ese componente? (TTable) Gracias. sds

Yo tampoco he entendido bien lo que necesitas y el problema.

Cita:

Empezado por ingel (Mensaje 552499)
...pero me surgió la necesidad de ordenar segun FECHA que en este caso esta en al CAMPO3 de la tabla.
Pero obviamente me lo ordena como varchar.

¿De qué tipo es el CAMPO3?
¿Es de tipo Date/DateTime? Si la respuesta es no, ¿No puedes cambiarlo?
Otra opción que ha salido aquí a veces, es tratar las fechas con un formato YYYYMMDD, de esta forma te las ordenará correctamente aunque sea como campo de texto.
¿Puedes crear un campo calculado con el mismo valor de la fecha pero con el formato YYYYMMDD, y ordenarlo por ese?

ingel 15-09-2023 15:01:40

Gracias a ambos por su respuesta.
 
El componente es un TMSTable que uso para imprimir y tiene solo campos Varchar.
Como solucion creo que usare una Query ordenada como necesito , sobre esa tabla.

La otra opcion es agregarle a la tabla un campo DATETIME (no queria hacerlo en principio porque tengo que modificar el SP que graba y lo tengo que modificar en 43 lugares :)

GRACIAS , que tengan un buen dia. sds


La franja horaria es GMT +2. Ahora son las 19:56:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi