约束要排序且唯一的数值数组

时间:2016-08-25 21:32:42

标签: sql arrays postgresql database-design check-constraints

我在Postgres数据库中有一个numeric[]列,应该代表一个时间数组(如{0.5 seconds, 2 seconds, 3.25 seconds, ...})。因此,我想限制数组中的值是唯一的和排序的。有没有办法做到这一点?

我已经看到了一些提出intarray模块的sortuniq功能的答案。 numeric / decimal是否有类似内容?

1 个答案:

答案 0 :(得分:0)

附加模块intarray仅用于整数。您不能将其用于数据类型numeric,我也不会知道numeric之类的任何内容。

如果您的数字不超过 n 小数位且可以缩放为整数,则可以乘以 10 ^ n 并改为使用integer。缩小输出...

除此之外,我之前已经回答了同样的问题( sets 的排序很简单):