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

Haruskah Anda memilih tipe data UANG atau DECIMAL(x,y) di SQL Server?

Jangan pernah Anda menggunakan uang. Itu tidak tepat, dan itu adalah sampah murni; selalu gunakan desimal/numerik.

Jalankan ini untuk melihat apa yang saya maksud:

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

Keluaran:2949.0000 2949.8525

Untuk beberapa orang yang mengatakan bahwa Anda tidak membagi uang dengan uang:

Ini adalah salah satu pertanyaan saya untuk menghitung korelasi, dan mengubahnya menjadi uang memberikan hasil yang salah.

select t1.index_id,t2.index_id,(avg(t1.monret*t2.monret)
    -(avg(t1.monret) * avg(t2.monret)))
            /((sqrt(avg(square(t1.monret)) - square(avg(t1.monret))))
            *(sqrt(avg(square(t2.monret)) - square(avg(t2.monret))))),
current_timestamp,@MaxDate
            from Table1 t1  join Table1 t2  on t1.Date = traDate
            group by t1.index_id,t2.index_id


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara tercepat untuk menghapus karakter non-numerik dari VARCHAR di SQL Server

  2. Pertimbangan Keamanan SQL Server

  3. T-SQL Bagaimana cara membuat tabel secara dinamis dalam prosedur tersimpan?

  4. Cara Mengonversi Stempel Waktu Unix ke Nilai Tanggal/Waktu di SQL Server

  5. Jenis Kursor SQL Server - Kursor KEYSET | Tutorial SQL Server / Tutorial TSQL