PIPIONE
2019-06-21 13:55:30
您應(yīng)該選擇SQLServer中的貨幣或十進(jìn)制(x,y)數(shù)據(jù)類型嗎?我很想知道m(xù)oney數(shù)據(jù)類型和類似decimal(19,4)(我相信,這就是貨幣內(nèi)部的用途)。我知道m(xù)oney是特定于SQLServer的。我想知道是否有令人信服的理由來(lái)選擇一個(gè)而不是另一個(gè);大多數(shù)SQLServer示例(例如AdventureWorks數(shù)據(jù)庫(kù))使用money而不是decimal比如價(jià)格信息。我應(yīng)該繼續(xù)使用貨幣數(shù)據(jù)類型,還是使用十進(jìn)制數(shù)據(jù)類型有好處?金錢是較少的字符輸入,但這不是一個(gè)有效的原因:)
3 回答

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
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貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
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
添加回答
舉報(bào)
0/150
提交
取消