【发布时间】:2011-10-08 16:42:12
【问题描述】:
我使用的是 SQL Server 2008。
我的数据库中有一些日期,我“认为”我想将它们分解成更小的部分。日期是生日和死亡日。我希望能够通过查询出生于 10 月或 5 月 12 日或 1945 年的人来输出它们。
有人告诉我,这样做的典型方法是获取一个日期并将其分成更小的部分,然后将日期的每一部分放入自己的列中,如下所示:
2001-03-12 00:00:00 // EventDate column
添加这些列:
2001 // EventYear column
03 // EventMonth column
12 // EventDay column
首先,这是一个好方法吗?如果是这样,第二,我能否以某种方式让 SQL Server 自动打破日期部分并将其放入自己的列中?
我会很感激想法和解决方案。
【问题讨论】:
-
那张表有多少行数据?
-
最多有 10,000 行分布在四到六个表中。我真的很想学习“正确”的方法来做到这一点。我不希望以任何旧的方式完成它。我已经可以用四五种“错误”的方式来做这件事了。我想知道专家会怎么做。
-
分布在 4-6 张桌子上是什么意思?
-
我会有四五张带日期的表格。每个表可能有 2,000 行。
-
我认为没有理由指示 Erik 拆分每个日期时间列以查询 2000 条记录。
标签: sql sql-server