今天 在写存储过程的时候,要用到根据传入的不同数值(我传入的是当前是周几,即周日传入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
posted on 2006-11-22 18:13  Tiu  阅读(808)  评论(0编辑  收藏  举报