您应该选择SQLServer中的货币或十进制(x,y)数据类型吗?我很想知道money数据类型和类似decimal(19,4)(我相信,这就是货币内部的用途)。我知道money是特定于SQLServer的。我想知道是否有令人信服的理由来选择一个而不是另一个;大多数SQLServer示例(例如AdventureWorks数据库)使用money而不是decimal比如价格信息。我应该继续使用货币数据类型,还是使用十进制数据类型有好处?金钱是较少的字符输入,但这不是一个有效的原因:)
3 回答
catspeake
TA贡献1111条经验 获得超0个赞
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
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
GCT1015
TA贡献1827条经验 获得超4个赞
DECLARE@mon1 MONEY,@mon4 MONEY,@num1 DECIMAL(19,4),@num2 DECIMAL(19,4),@num3 DECIMAL(19,4),@num4 DECIMAL(19,4)SELECT@mon1 = 100, @num1 = 100, @num2 = 339, @num3 = 10000SET @mon4 = @mon1/@num2*@num3SET @num4 = @num1/@num2*@num3SELECT @mon4 AS moneyresult, @num4 AS numericresult
moneyresult numericresult --------------------- --------------------------------------- 2949.8525 2949.8525
money
decimal
添加回答
举报
0/150
提交
取消