locked
SQL ARREDONDAR VALOR RRS feed

  • Pergunta

  • Bom dia...

    tenho uma duvida...

    preciso atualizar os dados de uma tabela da seguinte forma:

    tabela PRODUTO 

    campo PRECO_VENDA 

    OS VALORES DESSE CAMPO ESTÁ ASSIM:

    1---8.65

    2---9.22

    3---9.06

    QUERO ATUALIZAR ESSES VALORES COM O SEGUINTE CRITÉRIO

    se a casa decimal  for maior que 60 arredondar pra 99

    se a casa decimal for maior 15 arredondar pra 49

    se a casa decimal for menor que 15 arredondar para -1 casa decimal 99

    eu queria o resultado assim:

    1---8.99

    2---9.49

    3---8.99

    quinta-feira, 11 de maio de 2017 14:15

Respostas

  • Ficaria mais ou menos assim:

    UPDATE PRODUTO 
    SET PRECO_VENDA = CASE 
    		WHEN RIGHT(RTRIM(CONVERT(CHAR,PRECO_VENDA)),2) >='60' THEN ROUND(PRECO_VENDA, 0, 1)+'.99'
    		WHEN RIGHT(RTRIM(CONVERT(CHAR,PRECO_VENDA)),2) >='15' THEN ROUND(PRECO_VENDA, 0, 1)+'.49'
    		WHEN RIGHT(RTRIM(CONVERT(CHAR,PRECO_VENDA)),2) <'60' THEN ROUND(PRECO_VENDA-1, 0, 1)+'.99'
    	   END


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    quinta-feira, 11 de maio de 2017 14:30

Todas as Respostas

  • Ficaria mais ou menos assim:

    UPDATE PRODUTO 
    SET PRECO_VENDA = CASE 
    		WHEN RIGHT(RTRIM(CONVERT(CHAR,PRECO_VENDA)),2) >='60' THEN ROUND(PRECO_VENDA, 0, 1)+'.99'
    		WHEN RIGHT(RTRIM(CONVERT(CHAR,PRECO_VENDA)),2) >='15' THEN ROUND(PRECO_VENDA, 0, 1)+'.49'
    		WHEN RIGHT(RTRIM(CONVERT(CHAR,PRECO_VENDA)),2) <'60' THEN ROUND(PRECO_VENDA-1, 0, 1)+'.99'
    	   END


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    quinta-feira, 11 de maio de 2017 14:30
  • Bom dia,

    Por falta de retorno esta thread esta encerrada !

    Por gentileza, caso necessário abra uma nova thread.

    Atenciosamente,


    Guilherme Macedo S

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    TechNet Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 15 de maio de 2017 12:47