代码之家  ›  专栏  ›  技术社区  ›  IsmailS

在SQL Server中仅获取money数据类型的两个小数点

  •  7
  • IsmailS  · 技术社区  · 14 年前
    SELECT ROUND(123.4567, 2)` gives me `123.4600`
    

    但我需要 123.46 .

    字段的数据类型是money。

    解决方案:

    <%# DataBinder.Eval(Container.DataItem, "FieldName","{0:0.00}") %>
    
    5 回复  |  直到 13 年前
        1
  •  11
  •   abatishchev Marc Gravell    9 年前

    如果适用,在视图层上格式化,而不是在数据层上格式化,即读取所有数据并稍后将其截断(例如在C#client中)

        2
  •  21
  •   Neil Knight    14 年前
    SELECT CAST(ROUND(123.4567, 2) AS MONEY)
    

        3
  •  3
  •   Madhukar Mohanraju    7 年前

    @IsmailS—对我来说,更重要的是让数据服务器尽可能多地格式化,特别是在像内联转换这样简单的情况下。它减少了其他代码中的混乱。例如,铸造 价格

    select CAST(Price as numeric(17,2)) Price from PriceTable

    这是我个人的经历。

        4
  •  1
  •   Jacob    12 年前
        5
  •  1
  •   Abhishek Singh    8 年前
    SELECT FORMAT(123.4567,'N2')