当值可以是美元或相同字段的百分比时,我应该在sqlserver中使用哪种字段类型

时间:2016-03-18 13:46:44

标签: sql sql-server

我有一个场景,我希望在SqlServer中的同一字段中存储美元金额或百分比。

我有一个Type字段,它取一个值,例如'dollar'或'percent',然后是一个值字段,它取两种值:25.00或0.05。

如果这是一个可怕的想法,我想知道,因为那时我会把田地分开。

我应该对这种类型的字段使用decimal或float吗?为什么?

1 个答案:

答案 0 :(得分:1)

如果这是一个可怕的想法,我想知道,因为那时我会把田地分开。

All depends on your design but not a terribe thing. Even if you split the columns at any point of time one column would be filled but the other column should be 0 or Null.

我应该对这种类型的字段使用decimal或float吗?为什么?

Use can use Decimal refer the example below.

Declare @table table (
    Type VARCHAR(50)
    ,Value DECIMAL(18, 2)
    )

Insert into @table
values ('$',25.00),
('%',0.05),
('$',25.00)

您可以使用

进行求和或平均
SELECT sum(value) AS Sum
    ,avg(value) AS Avg
FROM @table
WHERE type = '$'