Округление в выражении - PullRequest
       32

Округление в выражении

0 голосов
/ 17 марта 2020

У меня есть ситуация, в которой я хотел бы применить раунд к окончательным результатам. Столбец importtring. +21,16800000000000. Я хотел бы, чтобы оно было округлено до 2. Я попытался использовать Раунд (21.1680000000,2). Можно ли это сделать?

 SELECT   ITMMASTER.ITMREF_0,
          YPRIMAT.ITMREF_0,
          BASPRI_0,
          ITMMASTER.TSICOD_6,
           ITMMASTER.TCLCOD_0,
  (BASPRI_0*2.205+CASE
                 WHEN ITMMASTER.TCLCOD_0 = '32221'  --Multipying 2.205 times 
  1.25 (packaging per pound)
                       THEN '2.75625'
                 WHEN ITMMASTER.TCLCOD_0 = '32224' --Multipying 2.205 times 
  0.75 (packaging per pound)
                       THEN '1.65375'
                 WHEN ITMMASTER.TCLCOD_0 = '13221' --
                       THEN '2.75625'
                 WHEN ITMMASTER.TCLCOD_0 = '13241'
                       THEN '1.65375'
                 WHEN ITMMASTER.TCLCOD_0 = '36221'
                       THEN '6.7473'
                 WHEN ITMMASTER.TCLCOD_0 ='36224'
                       THEN '5.6448'
                 WHEN ITMMASTER.TCLCOD_0 = '41211'
                       THEN '1'
                 END) AS Importstring

  FROM LIVE.YPRIMAT
  INNER JOIN LIVE.ITMMASTER  ON YPRIMAT.ITMREF_0 = ITMMASTER.ITMREF_0

1 Ответ

0 голосов
/ 17 марта 2020

Вы можете заключить выражение в round():

round(baspri_0_2 * 2.205 + case .. end, 2) as ImportString

Или, возможно, лучше, вы можете cast() с десятичным знаком, который имеет два знака после запятой:

cast(baspri_0_2 * 2.205 + case .. end as decimal(30, 2)) as ImportString
...