PDA

Ver la Versión Completa : Se puede utilizar Order By por un trozo de una cadena


Jose Manuel
22-04-2004, 23:06:29
Hola, quisiera saber si puedo ordenar una consulta SQL de la siguiente manera: Tengo un campo llamado REFERENCIA formado por "aaa-bbbbb-cc" y quisiera saber si puedo indicar que la consulta se ordene:
SUBSTR(REFERENCIA,9,2)+SUBSTR(REFERENCIA,1,8), es decir el resultado deberia ser "cc-aaa-bbbbb", donde "cc" es el año, este campo es del tipo texto.

Estoy trabajando con Dbase y Delphi 6.

Un saludo
Jose Manuel
.......................

fDatabase.q_pre.SQL.clear;
fDatabase.q_pre.SQL.add('Select * from PREGUNTA');
fDatabase.q_pre.SQL.add('order by SUBSTRING(REFERENCIA,9,2),
SUBSTRING(REFERENCIA,1,8) ');
fDatabase.q_pre.active:=true;

__cadetill
23-04-2004, 00:23:19
creo que de forma directa no se puede (digo creo pq siempre meto la pata), pero de forma "indirecta" sí haciendo algo como:


select SUBSTRING(campo from 2 for 1), c.*
from tabla c
order by 1


Lo he probado en Paradox desde el SQL Explorer y funciona