Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Redondeo de un numeric a integer. (https://www.clubdelphi.com/foros/showthread.php?t=42903)

mcalmanovici 25-04-2007 18:22:39

Redondeo de un numeric a integer.
 
Hola gente:
tengo el siguiente problema. Tengo que redondear un numeric (10,5) a integer. Si lo hago con cast (numero as integer) me redondea al entero más cercano. Yo lo que quiero es que me redondee al entero más alto.
Por ej. si tengo 1,2 quisiera que lo redondee a 2.
si tengo 1,8 quisiera que también quede en 2.
O sea siempre redondear para arriba.
No sé que función utilizar para hacer dicho calculo.

Muchas gracias a todos.
Saludos.
Mariano.

ContraVeneno 25-04-2007 18:54:00

Código SQL [-]
Select ceiling(2.00001)

-----------------------------------------------------------------
(No Colum Name)
--------------
3

mcalmanovici 25-04-2007 19:55:16

Gracias por la respuesta. Pero si yo pongo la función ceiling en el store procedure que lo necesito no me lo reconoce...
Yo lo debo hacer dentro de un store procedure. Trabajo con Firebird 1.6.
Si alguno tiene alguna otra alternativa o vos mismo tenes otra sera bienvenida.

Muchas Gracias.
Mariano.

jhonny 25-04-2007 20:12:36

La función ceiling no viene en el motor, deberás cargar la UDF de la ib_udf.dll que viene con FireBird así:
Código SQL [-]
 
DECLARE EXTERNAL FUNCTION ceiling 
 DOUBLE PRECISION
 RETURNS DOUBLE PRECISION BY VALUE
 ENTRY_POINT 'IB_UDF_ceiling' MODULE_NAME 'ib_udf';
Y así si te reconocera dicha función...

Si quieres ver mas funciones por el estilo deberás leer el archivo ib_udf.sql, y también el fbudf.sql, encontraras varias funciones que seguramente te serán útiles.

mcalmanovici 25-04-2007 20:22:12

Perdon por mi ignorancia pero donde pongo ese código sql para que me reconozca esa función (celing)??..

Gracias.
Mariano

mcalmanovici 25-04-2007 20:55:04

Tema solucionado
 
Muchas gracias a todos los que contestaron...
Ya entendí como importar la función ceiling.
Hay que ejectuar ese script y luego se va a crear en UDF la función CEILING.
Sino también desde donde dice UDF se puede cargar a mano. De esta manera me anduvo.

Gracias.
Saludos.
Mariano.


La franja horaria es GMT +2. Ahora son las 02:58:22.

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