![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola Guillotmarc,
Pues no habia caido en esa posibilidad de utilizar el order by por numero de columna y poner la expresion en la select. Lo estoy probando y me da un error que no me permite utilizar la funcion abs(), yo diria que la he utilizado en otras ocasiones. Lo estoy probando con FB1.5 y el EMS IB Manager 3. Me da la impresion que es el gestor EMS que no le gusta la funcion y no el propio FB1.5
__________________
Saludos, Bitman |
|
#2
|
||||
|
||||
|
Hola.
Lo he mirado y parece que no es una función interna, sino que está en la UDF ib_udf.dll Prueba declarándola, ejecutando primero (solo hay que hacerlo una vez) : DECLARE EXTERNAL FUNCTION abs DOUBLE PRECISION RETURNS DOUBLE PRECISION BY VALUE ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf'; NOTA : Esta declaración es para FB 2.0, espero que no haya cambiado para FB 1.5.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#3
|
||||
|
||||
|
Claro que siempre puedes hacer esta consulta.
select Campo1, case when (Campo1 - :Valor) > 0 then Campo1 - :Valor else -1 * (Campo1 - :Valor) end from Tabla order by 2 Pero la verdad es que es muy feo.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#4
|
||||
|
||||
|
y no es mejor usar un Between?, lo digo por que es lo que uso en MSSQL, en firebird no sé si está.
__________________
mas confundido que Garavito el día del Niño. |
|
#5
|
||||
|
||||
|
Pues no entiendo por que complicarse tanto, ya que el amigo Toni, él mismo a dado la solucion a su problema
.Personalmente no trabajo con Firebird, pero segun tengo entendido, ya es un servidor bien madurito, por tanto creo que tranquilamente se puede hacer ésta consulta SQL: Particularmente la he probado en MySQL y he obtenido el siguiente resultado: Cita:
![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#6
|
||||
|
||||
|
En Firebird 1.5, que es el servidor utilizado por Toni, esta consulta no es aceptada. En versiones superiores de Firebird sí que se ha implementado la posibilidad de utilizar expresiones en la cláusula ORDER BY.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
#7
|
||||
|
||||
|
Ah Caray... entonces quizás nuestro buen amigo Toni debería actualizarse a la última version de Firebird, que segun tengo entendido es la version 2.5
![]() Por demás queda decir que Firebird es "gratis", por lo tanto en lo posible hay que trabajar con las últimas versiones. ![]() Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#8
|
||||
|
||||
|
Efectivamente, en firebird 1.5 no funciona, pero lo he probado en firebird 2.1 y sí funciona.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Buscar Valores en una Grillla | peripla | Varios | 4 | 23-03-2009 19:44:31 |
| Valores OldValue | RicardoNavarro | Firebird e Interbase | 1 | 26-04-2007 17:57:54 |
| regresar valores | Genner | MS SQL Server | 5 | 03-04-2006 13:55:43 |
| Valores (Predeterminado) | vichovi | API de Windows | 3 | 04-01-2005 09:40:02 |
| Redondeo de valores | JODELSA | Varios | 1 | 23-08-2003 18:33:50 |
|