Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Fungsi SUM Tidak Ditambahkan dengan Benar

Saya tidak yakin tentang tipe data Anda. Tapi lihat contoh berikut dari nilai yang dikembalikan. Di MSSQL 2012 situasi Anda tampaknya sesuai dengan tipe data REAL. Sementara UANG, FLOAT, DECIMAL, PRESISI GANDA kembalikan 72200.00 NYATA mengembalikan 7219.9998321533. Lihat di bawah:

CREATE TABLE #tempso (Amount money, GRPS int);

INSERT INTO #tempso(Amount, GRPS) VALUES
('65025.00',355),
('-2500.00',355),
('7014.40',355),
('725.62',355),
('241.67',355),
('1209.57',355),
('241.87',355),
('241.87',355)

SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY  GRPS

ALTER TABLE #tempso ALTER COLUMN Amount float
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY  GRPS

ALTER TABLE #tempso ALTER COLUMN Amount decimal(10,2)
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY  GRPS

ALTER TABLE #tempso ALTER COLUMN Amount DOUBLE PRECISION
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY  GRPS

        --------------- 
RETURNS:|355 72200.00 |
        ---------------

ALTER TABLE #tempso ALTER COLUMN Amount REAL
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY  GRPS

        ----------------------  
RETURNS:|355 72199.9998321533 |
        ----------------------

DROP TABLE #tempso

Anda mungkin ingin mengubah tipe data kolom (jika itu bukan tipe yang diinginkan, mungkin itu disetel secara tidak sengaja dari menu tarik-turun SQL Studio, dll.) atau CAST nilai sebagai salah satu tipe data di atas yang akan mengembalikan 72200.00



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memahami SQL Server Selalu Terenkripsi

  2. SQLException :String atau data biner akan terpotong

  3. Bergabung dengan beberapa tabel di SQL

  4. Bagaimana mengonversi hierarki bersarang dari xml ke tabel sql

  5. Pengemudi tidak dapat membuat sambungan aman ke SQL Server dengan menggunakan enkripsi Secure Sockets Layer (SSL)