gpt4 book ai didi

database - 固定大小数组数据库字段

转载 作者:搜寻专家 更新时间:2023-10-30 20:13:53 24 4
gpt4 key购买 nike

我需要在数据库字段中存储多个日期值。这些值将与“用户”相关联,这样每个用户都将拥有自己独特的一组日期值。

我可以在这里使用一对多关系,但每个用户将恰好有 4 个日期值与之相关联,所以我觉得一对多表会过大(在很多方面,例如速度),但如果我需要查询它们我需要这 4 个值在不同的字段中,例如MyDate1 MyDate2 ... 等等,但是随后取出它的 SQL 命令必须每次检查 4 个值。

因此,一对多关系可能是最好的解决方案,但是否有更好/更清洁/更快/其他方式?我的设计是否正确?

平台是 MS SQL 2005,但任何平台上的解决方案都可以,我主要是在寻找合适的数据库设计技术。

编辑:这 4 个字段代表同一事物的 4 个实例。

最佳答案

如果您将其分为四个单独的字段,则不必加入。为了避免查询语法太可怕,您可以这样写:

SELECT * FROM MyTable WHERE 'DateLiteral' IN (MyDate1, MyDate2, MyDate3, MyDate4);

如评论中所述,IN 运算符在涉及日期字段时非常具体(精确到最后(毫秒)秒)。您始终可以在子查询上使用日期时间函数,但 BETWEEN 不可用:

SELECT * FROM MyTable WHERE date_trunc('hour', 'DateLiteral') 
IN (date_trunc('hour', MyDate1), date_trunc('hour', MyDate2), date_trunc('hour', MyDate3), date_trunc('hour', MyDate4));

关于database - 固定大小数组数据库字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com