【发布时间】:2020-03-16 23:55:23
【问题描述】:
我有一个案例状态,我想将回合应用于最终结果。该列是导入字符串。 21.16800000000000。我想让它四舍五入到 2。我尝试使用 Round(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'?使用数字是否更有意义,例如1?什么是“案例状态”? TSQL 确实有一个case表达式。
标签: sql sql-server tsql select rounding