求一个有难度的存储过程,请大家尽情发挥!有了答案马上送分!

muniu 北京国金源富科技有限公司 总经理  2004-05-08 04:43:27
某单位的工作日只有两天(周一,五),随机给定一个日期,如果这个日期正好是周一或周五,则日期不变,否则将日期改为最靠近它的周一或者周五那一天。最后输出这个日期。
...全文
23 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
帅帅123321 2004-05-08
深了。。没看明白。哎~看来我存储过程写的还是臭呀
  • 打赏
  • 举报
回复
zjcxc 元老 2004-05-08
存储过程中当然可以调用.

不过,如果不是很多地方都要用的话,建议直接写,因为就一句嘛.

case datepart(weekday,@dt)
when 1 then dateadd(day,+1,@dt)
when 7 then dateadd(day,-1,@dt)
else @dt end
  • 打赏
  • 举报
回复
muniu 2004-05-08
我要在存储过程里用的,存储过程不能调用这个函数吧。
  • 打赏
  • 举报
回复
muniu 2004-05-08
to zjcxc(邹建):
久仰大名,谢谢支持。
  • 打赏
  • 举报
回复
zjcxc 元老 2004-05-08
--上面的那个函数就行了.

--调用:
select dbo.f_dt('2003-1-1')

  • 打赏
  • 举报
回复
zjcxc 元老 2004-05-08
create function f_dt(@dt datetime)
returns datetime
as
begin
return(
case datepart(weekday,@dt)
when 1 then dateadd(day,+1,@dt)
when 7 then dateadd(day,-1,@dt)
else @dt end
)
end
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server
加入

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2004-05-08 04:43
社区公告
暂无公告