日期:2014-05-18 浏览次数:20552 次
判断一个日期是周六/周六/节日(元旦,春节,五一,国庆,中秋等,国家规定需要放假的节日), 如果是周六/周天,就把日期修改为周一的23点, 如果是节假日,就修改为正常上班第一天的23点. /* 测试数据 修改后预计到达客户时间1 节日/周天 2011-12-06 23:00:00.000 2011-12-06 23:00:00.000 2011-12-05 23:00:00.000 2011-12-05 23:00:00.000 2011-12-05 23:00:00.000 2011-12-05 23:00:00.000 2011-12-04 23:00:00.000 2011-12-04 23:00:00.000 2011-12-06 23:00:00.000 2011-12-04 23:00:00.000 2011-12-04 23:00:00.000 2011-12-04 23:00:00.000 2011-12-04 23:00:00.000 2011-12-04 23:00:00.000 2011-12-05 23:00:00.000 2011-12-05 23:00:00.000 2011-12-05 23:00:00.000 2011-11-30 23:00:00.000 */
select * from tb where datepart(weekday,列名) not in (7,1) --节日肯定要自己造表的我个人估计,可以百度找找有没现成的
------解决方案--------------------
看邹老大的BLOG 上面有节假日自定义函数
------解决方案--------------------
一般来讲,系统里有节日设定表,是由系统使用人员人为设定的.
因为每个地方对节日的定义和节日的天数规定不统一.
------解决方案--------------------
把所有节假日存到一张表里,加个字段标识是阳历,还是农历。
但是节假日附近都经常有国家规定的串休调整,这个就不好处理了。