数据库 – 如何存储(和排序)模糊的日期范围?
发布时间:2020-12-12 16:56:03 所属栏目:MsSql教程 来源:网络整理
导读:我有一个数据库需要存储年份(例如寿命),在某些情况下,这些数据不是非常具体.例如,以及通常的“1960”,我们有’c. 1960年代,“1960年左右”,1960年代在1960年,以及’nd’,没有日期,这是截然不同的空白,直到现在. 什么是最好的方式存储这些? 我正在考虑将年份
我有一个数据库需要存储年份(例如寿命),在某些情况下,这些数据不是非常具体.例如,以及通常的“1960”,我们有’c. 1960年代,“1960年左右”,1960年代在1960年,以及’nd’,没有日期,这是截然不同的空白,直到现在.
什么是最好的方式存储这些? 我正在考虑将年份存储为字符串,并将其添加到数十年,并将“c”保存为大约,“nd”为无日期,但这感觉是错误的.另外,按时间顺序排序,我需要在c之前插入20世纪60年代的物品. 1960年物品,而1960年物品. 我该如何正确地做到这一点? 一些示例日期范围: 1957年 谢谢你的帮助! 解决方法您可以插入范围的最早和最新的日期.喜欢,确切的日期将是 Jan 1,1960 Jan 1,1960 ,C. 1960年将是 Jan 1,1960 Dec 31,1960 20世纪60年代将是 Jan 1,1969 等等 那么你可以按照第一个日期和过期日期进行订购: SELECT * FROM mytable ORDER BY start_date,DATEDIFF(end_date,start_date) DESC 或者,您可以存储预期值和偏差,而不是开始和结束日期. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |