SQL Server 2000Windows VistaDBAWindows 2003Windows 2000Windows XPSQL Server 2005IntermediateDevVisual StudioSQL ServerSQLWindowsC++
SQL - 带存储过程的时间表(SQL Server)






1.83/5 (3投票s)
2004年4月28日
2分钟阅读

61968

540
一个创建时间表(包含所有相关细节)的存储过程。
引言
在许多项目中,我们可以使用时间表(例如在人力资源领域)。
此 SQL 脚本用于创建时间表和存储过程,该过程自动完成两个给定日期之间的范围。
此脚本基于 SQL Server,并且基于法国假期,对于其他国家/地区,必须修改公共假期部分。
时间表
脚本创建的表的详细信息
- TEMPS_ID (类型:smallINt,属性:NOT NULL):日期的 ID
- TEMPS_DATE (类型:smalldatetime,属性:NOT NULL):日期
- TEMPS_ANNEE (类型:smallINt,属性:NOT NULL):日期的年份
- TEMPS_MOIS (类型:tINyINt,属性:NOT NULL):日期的月份
- TEMPS_JOUR (类型:tINyINt,属性:NOT NULL):日期的日
- TEMPS_JOURDESEMAINE (类型:tINyINt,属性:NOT NULL):日期的星期几号
- TEMPS_JOURDELANNEE (类型:smallINt,属性:NOT NULL):日期在一年中的第几天
- TEMPS_JOUROUVRE (类型:char(1),属性:NOT NULL):标志,用于知道当天是否营业
- TEMPS_TRIMESTRE (类型:tINyINt,属性:NOT NULL):日期的季度编号
- TEMPS_SAISON (类型:char(10),属性:NOT NULL):日期的季节
- TEMPS_FERIE (类型:varchar(20),属性:NULL):如果日期是公共假期,是哪个?
存储过程
存储过程用于将数据添加到时间表中,实际上,使用此 SP,我们可以清除现有时间表的所有数据,只需执行此 SP 即可。
SP 位于 SQL 源代码中。
相关链接
此文章的法语版本(完整版本)可见于此链接
- http://www.asp-php.net/scripts/asp.net/table_sql_temps.php
更新
我修改了 SQL 脚本以添加功能(来自 Frédéric BROUARD),以精确计算季节,您可以在以下地址查看这些功能
- http://sqlpro.developpez.com/MSSQLServer_fonctions/UDF.html#FN_SEASONS