Установите десятичные разряды для 4 для результатов запроса - PullRequest
0 голосов
/ 06 мая 2020

Ниже приведен код, который я создал для расчета частоты отказов определенного c продукта.

ASU QTY - общее количество продуктов, на которые распространяется гарантия

Dispatch QTY - Это общий отказ продукта

Fiscal_Week - Неделя, в которую продукт вышел из строя

Если мне нужно получить Failure Rate - который обозначается как MDR

Мне нужно разделить отправку QTY/ ASU QTY

В коде я использовал следующее

cast(isnull([Dispatch QTY],0) as float)/Cast(isnull([ASU QTY],0) as float) * 100 as 'MDR'

Мне нужно следующее Out of the output

  1. Установить десятичные разряды только на 5
  2. Добавить%

Полный код для получения частоты отказов

select a.FISCAL_WEEK
    ,isnull([ASU QTY],0) as 'ASU QTY'
    ,isnull([Dispatch QTY],0) as 'Dispatch QTY' 
    ,cast(isnull([Dispatch QTY],0) as float)/Cast(isnull([ASU QTY],0) as float) * 100  as 'MDR'



    from ASU a left Join dispatch b
    on
    a.FISCAL_WEEK = b.FISCAL_WEEK

    order by a.FISCAL_WEEK`

1 Ответ

0 голосов
/ 06 мая 2020

CAST результат до decimal(20,5), а затем до string

cast (
     cast (
           cast(isnull([Dispatch QTY],0) as float)
         / cast(isnull([ASU QTY],0) as float) * 100 
          as decimal(20,5) )
     as varchar(20) ) + '%'  as 'MDR'
...