在我的数据库中,我目前有浮动数据。所有列都设置为 NULLABLE ,当缺少值时,我把它放在那里NULL
。
我的数据库太大,如果我知道,值在 0 - 100 范围内,它们可以四舍五入到小数点后 1 位。所以使用浮点数是开销,我正在考虑使用 smallint (将每个浮点数乘以 10 并将其存储为舍入数字)。现在,NULL
价值观呢。我有两个选择:
还在用
NULL
使用一些“超出范围”的值,例如 9999,来表示
NULL
(并且当没有为列设置任何内容时,也将此值设为默认值)。但是,在我的查询中,我需要这样做:SELECT AVG(NULLIF(data, 9999)) AS data, ....
(当我使用 时
NULL
,我可以只使用AVG(data)
,而NULL
没有计算值..)
用什么比较好。还是有更好的技术?