Nada melhor que uma peça feita sob medida para o seu treino! Feita com tecnologia Dri-Fit, a Regata Nike Pure PR possui costas nadador para permitir movimento natural nas partidas de tênis.
SELECT CASE WHEN (SUBSTR(TO_CHAR(LPAD(&numero,10,0)),10,1) <= 5) THEN TRUNC(&numero,2) ELSE ROUND(&numero,2) END FROM dual
select numero,
round(numero - (1 / power(100, &casas_decimais)), &casas_decimais) round
Preto PR Feminina Regata Branco Pure Nike Nike e Regata from t;
SQL> with t as (
2 select (level + 12538) / 1000 numero from dual connect by level <= 15)
3 -- fim dos dados de teste
4 select numero,
5 round(numero - (1 / power(100, &casas_decimais)), &casas_decimais) round
6 from t;
NUMERO ROUND
---------- ----------
12,539 12,54
12,54 12,54
12,541 12,54
12,542 12,54
12,543 12,54
12,544 12,54
12,545 12,54
12,546 12,55
12,547 12,55
12,548 12,55
12,549 12,55
12,55 12,55
12,551 12,55
12,552 12,55
12,553 12,55
15 rows selected
SQL>
select &numero,
round(&numero - (1 / power(100, &casas_decimais)), &casas_decimais) round
from dual;
-- Author : ROGERIO P.
-- Created : 18/02/2010 13:48:50
Regata Nike PR Pure Nike Branco Regata e Preto Feminina -- Purpose : Arredonda para cima a partir do 6
create or replace function round6(p_vl_x number
,p_nr_casas number) return number is
va_vl_x number := p_vl_x;
va_nr_lpad constant number := 60;
va_valor_string varchar2(60) := lpad(va_vl_x,va_nr_lpad,0);
va_nr_decimais number := length(substr(va_valor_string,instr(va_valor_string,'.')+1,20));
begin
if p_nr_casas < 0 or -- Se Números de Casas Menor que Zero ou
instr(va_valor_string,'.') = 0 or -- Se não possuir Decimal ou
p_nr_casas >= va_nr_decimais then -- Se Número de Casas solicitada maior/igual ao número de Decimais
return (va_vl_x); -- Retorna valor sem arredondamento
else
loop
va_nr_decimais := va_nr_decimais - 1;
Regata Nike e Feminina Preto Pure Branco PR Regata Nike if substr(va_valor_string,va_nr_lpad,1) <= 5 then
va_vl_x := trunc(va_vl_x,va_nr_decimais);
else
va_vl_x := round(va_vl_x,va_nr_decimais);
end if;
va_valor_string := lpad(va_vl_x,va_nr_lpad,0);
exit when va_nr_decimais <= p_nr_casas;
end loop;
Preta Fino Verniz Sandália Alto Sandália de Salto Moça Mania Mania 1w8UqBxB return (va_vl_x);
end if;
end;
select &numero,
round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
from t;
select &numero,
round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
from dual;
select &numero,
round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
from DUAL;
SQL> var casas_decimais number
SQL> exec :casas_decimais := -1
PL/SQL procedure successfully completed
casas_decimais
---------
-1
SQL> with t as (
2 select 15 as numero from dual union all
3 select 16 from dual)
4 -- fim dos dados de teste
5 select numero,
6 round(numero - (power(10, - 1 * (:casas_decimais + 1))), :casas_decimais) round
7 from t;
NUMERO ROUND
---------- ----------
15 10
16 20
casas_decimais
---------
-1
SQL>
select &numero,
round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
from DUAL;
SQL> with t as (
2 select 10.1444445 as numero from dual union all
3 select 10.144445 as numero from dual union all
e Nike Regata PR Branco Feminina Pure Regata Preto Nike 4 select 10.14445 as numero from dual union all
5 select 10.1445 as numero from dual union all
6 select 10.145 from dual)
7 -- fim dos dados de teste
8 select numero,
e Nike Feminina PR Branco Regata Pure Preto Regata Nike 9 round(numero, 2) round
10 from t;
NUMERO ROUND
---------- ----------
10,1444445 10,14
10,144445 10,14
10,14445 10,14
10,1445 10,14
10,145 10,15
SQL>
Usuários navegando neste fórum: Google [Bot] e 3 visitantes