首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server 2008 Express日历表

SQL Server 2008 Express日历表
EN

Stack Overflow用户
提问于 2012-05-20 21:16:26
回答 1查看 594关注 0票数 0

我有下面的表格

代码语言:javascript
复制
event_ID      Int,
Start_Date    Date,
End_Date      Date,

我想创建一个永久的日历器表,其中包括以下列

代码语言:javascript
复制
calender_ID,
Event_ID,
Event_Date,

我希望Event_Date列出Start_dateEnd_Date之间的所有日期

我在Visual Studio中使用SQL Server Express 2008

感谢你的任何帮助

哈曼

EN

回答 1

Stack Overflow用户

发布于 2012-05-20 22:10:09

首先,创建一个类似于SO Thread中提到的"ExplodeDates“的函数:https://stackoverflow.com/questions/1378593/get-a-list-of-dates-between-two-dates-using-a-function/1378788#1378788

接下来,在您计划使事件和日历表保持同步的存储过程/触发器中,您基本上只需执行类似以下的操作:

代码语言:javascript
复制
DELETE FROM CalenderTable WHERE Event_ID=@EventID

INSERT INTO CalenderTable (Event_ID, Event_Date)
SELECT Event.Event_ID, Dates.TheDate
FROM Event
CROSS APPLY ExplodeDates(Event.Start_Date, Event.End_Date) Dates
WHERE Event.Event_ID=@EventID

我在这台机器上没有SQL,所以我还没有机会测试它。它可能需要一些调整,但这至少应该能让你走上一条可行的道路……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10673735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档