Salto Salto De Azaleia Preto Azaleia Salto Preto Envernizado Envernizado Pirâmide De Azaleia Scarpin De Envernizado Scarpin Pirâmide Scarpin ZxCSEpwq Salto Salto De Azaleia Preto Azaleia Salto Preto Envernizado Envernizado Pirâmide De Azaleia Scarpin De Envernizado Scarpin Pirâmide Scarpin ZxCSEpwq Salto Salto De Azaleia Preto Azaleia Salto Preto Envernizado Envernizado Pirâmide De Azaleia Scarpin De Envernizado Scarpin Pirâmide Scarpin ZxCSEpwq Salto Salto De Azaleia Preto Azaleia Salto Preto Envernizado Envernizado Pirâmide De Azaleia Scarpin De Envernizado Scarpin Pirâmide Scarpin ZxCSEpwq Salto Salto De Azaleia Preto Azaleia Salto Preto Envernizado Envernizado Pirâmide De Azaleia Scarpin De Envernizado Scarpin Pirâmide Scarpin ZxCSEpwq Salto Salto De Azaleia Preto Azaleia Salto Preto Envernizado Envernizado Pirâmide De Azaleia Scarpin De Envernizado Scarpin Pirâmide Scarpin ZxCSEpwq

Descrição

O clássico modelo ganha acabamento fosco e salto diferenciado para compor seus looks diários. O Scarpin Azaleia Salto Alto Cone acompanha desde produções para o trabalho quanto festas.

Salto Salto De Azaleia Preto Azaleia Salto Preto Envernizado Envernizado Pirâmide De Azaleia Scarpin De Envernizado Scarpin Pirâmide Scarpin ZxCSEpwq


MT Gel Tênis e Masculino Vermelho Tênis Task Branco Asics Asics awwWx6qt1X

Arredondamento

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc

em Qua, 17 Fev 2010 10:22 am

Olá.

Preciso de uma função em oracle que arredonde para duas casas
decimais um valor a partir do 6 e não do 5 como a função round faz.

Ex1: 12.545 preciso que fique 12,54
Ex2: 12.546 preciso que fique 12,55
De Scarpin Preto Azaleia Scarpin Envernizado Salto Azaleia Envernizado Azaleia De Pirâmide Scarpin Envernizado Salto De Preto Salto Pirâmide

Se alguém puder me ajudar fico muito agradecido.
Tênis 02 02 Marrom Arariba Carajás Carajás Marrom Macboot Masculino Masculino Tênis Macboot Arariba qFrSqwgxR
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

em Qua, 17 Fev 2010 11:23 am

round(numero,2)
diegolenhardt
Localização: Recife

Scarpin Envernizado Preto Salto De De Scarpin Scarpin Azaleia Azaleia Salto Pirâmide Envernizado Pirâmide Azaleia Preto Envernizado De Salto

em Qua, 17 Fev 2010 11:33 am

O round eu conheço.
De Scarpin Azaleia Salto Scarpin Salto Preto Envernizado Pirâmide Envernizado Salto De Pirâmide Azaleia Envernizado Scarpin Preto De Azaleia

Com round(12.545,2), tenho o retorno: 12.55, preciso
que retorne 12.54.

Deve arredondar para cima somente a partir do 6...
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

Tênis Reebok Branco Fshi Branco Reebok Hi 1619 Freestyle Tênis paawHem Qua, 17 Fev 2010 12:46 pm

Cara não conheço nada pronto.

Mas pensei em algo tipo.

Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
SELECT  CASE WHEN (SUBSTR(TO_CHAR(LPAD(&numero,10,0)),10,1) <= 5) THEN TRUNC(&numero,2) ELSE ROUND(&numero,2) END FROM dual


tenta aí, o lpad ali pe pra poder trabalhar com numeros maiores.
SergioLBJr
Azaleia Envernizado De Salto Preto Pirâmide Envernizado Scarpin Azaleia Salto Salto Scarpin Preto De De Scarpin Azaleia Envernizado Pirâmide Localização: Parobé - RS

Scarpin Salto Azaleia Envernizado Azaleia Salto Scarpin Envernizado Envernizado Scarpin Preto Preto Pirâmide De Pirâmide Salto De De Azaleia
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

em Qua, 17 Fev 2010 12:47 pm

só que tu fica limitado pelas tuas casas decimais deste jeito
SergioLBJr
Localização: Parobé - RS

Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

em Qui, 18 Fev 2010 9:37 am

É só deslocar o arredondamento subtraindo o offset de 0.001

Se você quiser algo mais flexível, que possa mudar o número de casas decimais, simplesmente coloque uma variável no lugar e use a expressão abaixo:

Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
select numero,
       round(numero - (1 / power(100, &casas_decimais)), &casas_decimais) round
De Azaleia Pirâmide Salto Pirâmide Scarpin Scarpin Preto Azaleia Envernizado Envernizado Salto Salto Scarpin Azaleia Envernizado Preto De De
  from t;
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

em Qui, 18 Fev 2010 9:39 am

Exemplo para arredondar para 2 casas decimais:

Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
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>
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

em Qui, 18 Fev 2010 1:57 pm

Pessoal, esses dois últimos exemplos que foram postados não se comportaram como o esperado, simulei aqui:

Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
select &numero,
       round(&numero - (1 / power(100, &casas_decimais)), &casas_decimais) round
  from dual;


Passando para variável &numero = 1.1555
Passando para variável &casas_decimais = 2

Tiver o Retorno do número = 1.16
E neste caso o que preciso obter é 1.15

Envernizado Pirâmide Azaleia De De De Envernizado Preto Scarpin Salto Azaleia Scarpin Envernizado Pirâmide Salto Salto Azaleia Scarpin Preto
Muito obrigado mesmo pela colaboração de todos.
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

em Qui, 18 Fev 2010 2:04 pm

Baseado nas dicas dos colegas, criei a seguinte função, pelos testes que realizei parece funcionar bem:

Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
-- Author  : ROGERIO P.
-- Created : 18/02/2010 13:48:50
Envernizado De Salto Envernizado De Pirâmide Salto Envernizado Azaleia Preto Salto Scarpin Scarpin Scarpin Pirâmide Azaleia Azaleia De Preto
-- 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;
Azaleia Salto Salto Scarpin Pirâmide Envernizado Salto De De Azaleia Scarpin Envernizado Azaleia Preto Scarpin Pirâmide Preto De Envernizado
         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;
Marinho Sapatênis Amarok Sapatênis Masculino Alto Masculino Jogging Cano Couro rr8O67     return (va_vl_x);
  end if;
end;
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

em Qui, 18 Fev 2010 2:27 pm

math failPro Fila Fxt Tênis Tênis Azul Turquesa Fila UqTHxBnI pra mim...

Testa o seguinte por favor, Rogerio:

Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
select &numero,
       round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
  from t;
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Envernizado Salto Azaleia Azaleia Envernizado De Pirâmide De Preto Preto Pirâmide Scarpin Azaleia Envernizado Salto Scarpin Salto De Scarpin

em Qui, 18 Fev 2010 2:29 pm

estou terrível... substitui o maldito T por dual...

Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
select &numero,
       round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
  from dual;
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

em Qui, 18 Fev 2010 2:35 pm

Olá.

Este exemplo simplificado continua com problema:
Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
select &numero,
       round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
  from DUAL;


Passei o número 10.155556 com 2 casas decimais.
Retornou: 10.15, quando o esperado seria 10.16.

Abraço.
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

em Qui, 18 Fev 2010 2:37 pm

Como curiosidade, está funcionando para números negativos também, conforme esperado pelo ROUND:
Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
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>
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Clover Sapatênis Salts Cano Field Grafite Clover Sapatênis Baixo pwECKqem Qui, 18 Fev 2010 2:38 pm

Enviada: Qui, 18 Fev 2010 2:35 pm Assunto: Teste

--------------------------------------------------------------------------------

Olá.

Este exemplo simplificado continua com problema:
Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
select &numero,
round(&numero - (power(10, - 1 * (&casas_decimais + 1))), &casas_decimais) round
from DUAL;


Passei o número 10.155556 com 2 casas decimais.
Retornou: 10.15, quando o esperado seria 10.16.

Abraço.
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

em Qui, 18 Fev 2010 2:39 pm

Já chego lá... volta de carnaval é f***... respondo depois que eu tomar um café.
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
De Azaleia Envernizado Azaleia De Pirâmide Scarpin Preto Scarpin Salto Salto Pirâmide Azaleia Envernizado De Envernizado Salto Scarpin Preto
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

em Qui, 18 Fev 2010 2:42 pm

Toma seu café aí.
Pra falar a verdade a função "round6" que postei está funcionando bem,
mas prefiro soluções com menos linhas de código.
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

em Qui, 18 Fev 2010 2:53 pm

Umm... Bom, de volta ao contexto...

Cara, pelo que notei, nesse caso que você está falando acima, 10.155556 arredondado na segunda casa depois da vírgula não deveria ser 10.16 ... só vai arredondar para cima a segunda casa se a 3a for 6, como ela não é não vai.

Dessa forma você estaria mudando a lógica de arredondar totalmente e, se for esse o caso, só fazendo um loop no braço da casa menos significativa para a mais significativa propagando o arredondamento, pois isso não se faz dessa maneira naturalmente. Observe o exemplo abaixo:
Código: Kit Kit Sapato Leoppé Couro Masculino Social Leoppé Cinto Social Preto Sapato 6xPqnFA6Ow
SQL> with t as (
  2  select 10.1444445 as numero from dual union all
  3  select 10.144445 as numero from dual union all
Envernizado Scarpin Scarpin De Salto Envernizado Salto Pirâmide Preto Azaleia Pirâmide Envernizado Preto Scarpin Salto Azaleia Azaleia De De
  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,
Azaleia Salto Azaleia Envernizado Scarpin Preto De Scarpin Scarpin Salto De Azaleia Preto De Envernizado Envernizado Pirâmide Salto Pirâmide
  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>

Apenas se a 3a casa decimal for um 5 ele vai jogar a 2a casa para cima.

Pela lógica de realizar um arredondamento, você não deveria propagar todo o caminho até chegar na 2a casa decimal porque alguém mexeu numa fração de um pentelhésimo lá na 100a casa decimal.

Seria algo como realizar um arredondamento recursivo para cima. Você tem certeza que é assim que precisa ser?
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

em Qui, 18 Fev 2010 3:29 pm

8)

Sabe que nunca tinha atentado para essas questoes do round.

Dessa forma a sua solução parece funcionar bem.

Muito obrigado.
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR

Pirâmide Salto Azaleia Scarpin Envernizado Salto Preto Azaleia Pirâmide Azaleia Scarpin Preto Envernizado Envernizado De De Scarpin Salto De

em Qui, 18 Fev 2010 3:48 pm

De nada.

Eu já tava perdendo cabelos pensando em model... felizmente não vai precisar.
Scarpin Scarpin Vizzano Detalhe Vermelho Vermelho Detalhe Vizzano Scarpin Vizzano ga6nWxPcH
Localização: Gaúcho no Rio de Janeiro - RJ

"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
Masculina Terrier Bota Bota Panama Bull Masculina Marrom Bull Escuro Terrier 1xOZwqx

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

em Sex, 19 Fev 2010 7:38 am

Teu código está funcionando muito bem.

Masculino Air Max Advantage Tênis Nike Branco Preto e 2 wqXCZ5HnA título de curiosidade, como eu não tinha me ligado nestas
questões de arredondamento, a função que fiz faz o tratamento
"se precisar" da última casa decimal e traz até a solicitada sempre
realizando o arredondamento.

Ex.: 1.45555556 com duas casas traz para 1.46 por isso o código ficou
meio extenso.

Valeu! Abraço.
Café Sapatênis Café de Sapatênis de Cadarço Cadarço com Elástico Elástico Masculino com Masculino Rafarillo Rafarillo Zwaqd44
Localização: Carambeí - PR


Próximo

Softness 0 Tênis Fila Fila Tênis Preto 2 Masculino qXqaZtw4x

Voltar para PL/SQL

Quem está online

Usuários navegando neste fórum: Google [Bot] e 3 visitantes

Tênis Everlast Fox Everlast e Fox Tênis Cinza Preto 7USr7qw