gpt4 book ai didi

sql - 模糊数据存储和查找

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

我正在寻找一个数据库来保存有关一组图片的元数据,我想要的一个字段是拍摄日期。我希望能够以粗粒度或细粒度的精度存储它,例如对于数字照片,精确到秒的时间戳是可用的,但我希望能够将照片标记为特定年份甚至特定十年(十年是我最粗糙的十年) d go),并且还能够以这种方式进行搜索,例如请求 90 年代的所有图片,或 1992 年的所有图片或特定日期的所有图片等。

我想知道是否有内置的方法可以使用 SQL 执行此操作,或者是否有其他更好的方法。我考虑过将日期分解并单独存储每个部分,例如有十年字段、一年字段、一个月字段等,但这似乎是一种有点笨拙的做事方式。

我对使用哪种 SQL 技术并不介意,只要它是免费的即可。我现在正在看 H2。

最佳答案

您只需使用两列即可做到这一点:一列用于时间戳,另一列用于精度级别。然后你必须定义一个精度等级,以及一些标准来在时间戳上编码较低精度的日期。

例如,精密秤可以是:

0   full timestamp
1 day
2 month
3 year
4 decade

有了它,您可以像这样存储日期:

timestamp                 |  precision   | notes
--------------------------+--------------+---------------------
2012-07-05 14:00:00 | 0 | full precision
--------------------------+--------------+---------------------
2012-07-05 00:00:00 | 1 | precision up to day
--------------------------+--------------+---------------------
2012-07-01 00:00:00 | 2 | month and year
--------------------------+--------------+---------------------
2012-01-01 00:00:00 | 3 | year
--------------------------+--------------+---------------------
2010-01-01 00:00:00 | 4 | decade
--------------------------+--------------+---------------------

关于sql - 模糊数据存储和查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11704964/

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