我想创建添加一个工作日列,以便我们可以选择更多然后只有一天,
我知道枚举类型可以做到,但我们只能选择一个项目
那么如何在PostgreSQL上创建数据类型,以便我们可以像mysql上的set一样有多选enum?
非常感谢.
使用HSTORE列类型.HSTORE存储键/值对.如果您只关心检查密钥是否存在,则可以使用空值.
请参阅https://www.postgresql.org/docs/current/static/hstore.html.
例如,在我的hstore中询问Is'x'?,做
CREATE EXTENSION HSTORE; --create extension only has to be done once
SELECT * FROM 'x=>null,y=>null,z=>null'::HSTORE ? 'x';
Run Code Online (Sandbox Code Playgroud)
我相信这是操作是O(1).相反,检查ARRAY-type列中的包含是O(n).
我猜想数组是最可怕的集合数据类型的匹配。
但是该解决方案尚未标准化,因此您可能会遇到几个问题。我建议将其存储在正确归一化的表中,尤其是如果您打算查询所选值或对此进行其他报告时,尤其如此。
| 归档时间: |
|
| 查看次数: |
7644 次 |
| 最近记录: |