11
|
Mike Florian Doyen · 技术社区 · 15 年前 |
![]() |
1
17
我最近遇到了这个问题,我最初的设计确实存储了日期,而我只是忽略了年份。然而,事实并非如此
更新
然而,在我写这个答案很久之后,事后我举手表示,这些评论被天真地忽略了。通过将日/月存储为单独的字段,有可能存储无效数据,而如果将它们存储为完整的
根据您的验证策略,这可能不是一个问题,但是,如果您依赖DB验证,那么我建议您将其存储为
|
![]() |
2
7
另一个选择(我不认为其他人提供)将存储月份和日期作为单独的int。因此,要查找今天的条目,您可以:
这将允许您有特定于日期的消息,而不使用日期(并忽略年份)。 只是个主意。 |
![]() |
3
3
如果在数据库中输入年份不是问题,那么你可以使用闰年来存储日期,在应用程序视图中忽略它。 |
![]() |
4
3
您仍然可以对正确的数据类型使用适当的日期和时间函数,如果使用VARCHAR字段,您将最终在它之间进行转换。 |
![]() |
5
2
我不禁觉得,如果日历是由软件工程师发明的,闰日应该是12月32日,而不是2月29日,这样你就可以简单地用1月1日的小整数偏移量。 您仍然可以使用从3月1日开始的smallint偏移量,3月1日为0,3月2日为1,2月29日为365。但是,它涉及到对所需图形进行某种自定义转换,并且可能无法按您希望的方式进行排序。 考虑到你可以将一天和一个月存储为两个占用同一空间的小零件,我不确定这是否是一个好的计划,但我想我会完整地提到它。 |
![]() |
6
1
既然没有像Oracle那样的间隔类型,那么您就有了几个选择中的一个。
|
![]() |
7
1
直拨号码怎么样。您可以每次随机选择引号,并在选择时标记另一个布尔字段。您可以在年底重置布尔字段。
|
![]() |
8
0
您仍然可以在数据库中使用datetime列,并使用DatePart()SQL函数来检索一年中的某一天。
|
![]() |
9
0
我会避免用约会时间来做这个。从某种意义上说,您将存储不正确的数据。例如,您将2010年4月20日存储为2012年4月20日或您选择的任何年份。尽管年份对您的应用程序并不重要,但这种方法可能会导致一些意想不到的问题。 举个例子,如果你的约会年份不对呢?你的计算是错误的。 因为没有本地类型来支持您所做的工作,所以我会将这些值存储为varchar,并在用户定义的函数中进行任何必要的计算。 |
![]() |
10
0
|
![]() |
11
0
在人类可读格式和一年中的某一天之间进行翻译可能有点痛苦。另一方面,将日期分配给引号并选择它们将非常容易。
|
![]() |
12
-2
|
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 3 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 3 年前 |