For 4 decimal places, use money if you can
Reason: it's faster then decimal but is exact
Money, float, decimal article
Edit: based on comment
Interesting argument. I follow both blogs.
Note the examples here: different precision based on datatypes and precedence
declare @d decimal(19,4), @ddiv decimal(19,4)
set @d = 12.39
SET @ddiv = 1000
select (@d/@ddiv)*@ddiv, (@d/1000)*1000
--Gives 12.390000 12.390000000
Explained by my answer here to "T-SQL Decimal Division Accuracy"
Now, this is interesting. Decimal, different answers
declare @d decimal(19,4), @ddiv decimal(19,4)
set @d = 12.39
SET @ddiv = 1001
select (@d/@ddiv)*@ddiv, (@d/1001)*1001
--Gives 12.390000 12.389999622
Back to money: same answer for each
declare @d money, @ddiv money
set @d = 12.39
SET @ddiv = 1001
select (@d/@ddiv)*@ddiv, (@d/1001)*1001
--Gives 12.3123 12.3123
Moral: store in SQL, process in client languages...
gbn
2009-04-30 10:12:14