Em đang học SQL server và có thắc mắc đến đầu ra của dữ liệu dựa trên 2 kiểu dữ liệu chính là: money và decimal.
DECLARE
    @mon1 MONEY,
    @mon2 MONEY,
    @mon3 MONEY,
    @mon4 MONEY,
    @num1 DECIMAL(19,4),
    @num2 DECIMAL(19,4),
    @num3 DECIMAL(19,4),
    @num4 DECIMAL(19,4)
    SELECT
    @mon1 = 100, @mon2 = 339, @mon3 = 10000,
    @num1 = 100, @num2 = 339, @num3 = 10000
    SET @mon4 = @mon1/@mon2*@mon3
    SET @num4 = @num1/@num2*@num3
    SELECT @mon4 AS moneyresult,
    @num4 AS numericresult
Output: 2949.0000 2949.8525
Tại sao cùng 1 phép tính toán mà money là kiểu dữ liệu số thực nhưng nó lại bị mất thông tin phần thập phân, trong khi đó kiểu decimal lại có thể tính toán chính xác ạ. Xin cảm ơn các cao nhân rất nhiều !!!
      
    
    83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?