今天 在写存储过程的时候,要用到根据传入的不同数值(我传入的是当前是周几,即周日传入0,周一传入1,以此类推),在存储过程中要根据传入的不同要加的查询条件也不同,即要是传入0则查询条件:Sun=1如此等等。
开始就想到了if,但那样太麻烦了,最后采用的Case函数,一开始还不会用(本人菜鸟一只,但是会自我不断学习的菜鸟),首先查F1帮助,可惜没有解决,就好一个例子,接下来Google,最后搜到一个http://www.databasejournal.com/features/mssql/article.php/3288921,还是国外站点资源丰富些(不要扔石头啊,呵呵),这篇文章总结的还不错,有需要的可以上去看看。
我的是这么写的:
select * from userlist
where departmentid=@departmentID and
CASE
when @day=0 THEN Sun
when @day=1 THEN Mon
when @day=2 THEN Tue
when @day=3 THEN Wed
when @day=4 THEN Thurs
when @day=5 THEN Fri
else Sat
END =1
这样的话如果传入0:sql语句就相当于:
select * from userlist
where departmentid=@departmentID and Mon=1
转载于:https://www.cnblogs.com/tiu/archive/2006/11/22/568961.html