格式化SQL案例的结果?

时间:2020-05-05 17:32:54

标签: sql sql-server

我正在尝试格式化我所拥有的SQL案例的结果,但是我不知道该怎么做。

SELECT ProductID, ProductName, WholesalePrice, UnitPrice as 'Current Price',
CASE
    WHEN CategoryID = 1 or CategoryID = 4 THEN UnitPrice * 1.2
    WHEN CategoryID = 6 or CategoryID = 8 THEN UnitPrice * 1.15
    WHEN SupplierID = 2 THEN UnitPrice * 1.08
    ELSE UnitPrice
    END AS 'New Price'

我得到的结果是

Product ID | ProductName | WholesalePrice | Current Price | New Price
     4          Thing           19.11           22.00       23.7600000

我正在尝试仅将其格式化为Currency,但不确定。我希望它看起来像这样

Product ID | ProductName | WholesalePrice | Current Price | New Price
     4          Thing           19.11           22.00         23.76

在这种情况下,我正在与Microsoft SQL Server Management Studio合作。

1 个答案:

答案 0 :(得分:1)

明确的CAST应该起作用。

SELECT ProductID, ProductName, WholesalePrice, UnitPrice as [Current Price],
CAST
  (
    CASE
      WHEN CategoryID = 1 or CategoryID = 4 THEN UnitPrice * 1.2
      WHEN CategoryID = 6 or CategoryID = 8 THEN UnitPrice * 1.15
      WHEN SupplierID = 2 THEN UnitPrice * 1.08
      ELSE UnitPrice
    END
  AS decimal(9,2)) AS [New Price]

9的精度是一个猜测。您可能需要针对数据进行调整。但是,小数点2会在小数点右边放两个位置。

顺便说一句,我调整了非标准列别名(包含空格)以使用SQL Server首选的方括号方法。您可以选择使用双引号,但是表示字符串文字的单引号已在某些版本中弃用,应该避免使用。

相关问题