【发布时间】:2014-04-28 10:31:26
【问题描述】:
我创建了一个日历表,其中包含一年中的所有日历日期,包括。对应的季度/周/月/日等信息。
下面的 Select 给了我 12 月的所有星期五。 在这里只获得第二个的最佳方法是什么?
SELECT *
FROM Calendar
WHERE (yearCal = '2014') AND (monthCal = '12') AND (weekDayCal = '6')
非常感谢,迈克。
【问题讨论】:
-
我建议添加日期的各种 ISO 8601 值(ISO 周年、ISO 周年、ISO 周日等),尤其是当您的星期几时 不与 ISO 编号匹配(您的星期一是
'2',ISO 星期一是'1')。 -
@Clockwork-Muse - 不同的企业有不同的星期定义。
-
@MatBailie - 这正是我建议添加 ISO 编号的原因正是 - 所以如有必要,可以说明共同点。 ISO 定义的另一个好处是它们不受服务器区域更改(甚至只是会话区域更改)之类的影响。
标签: sql sql-server date stored-procedures calendar