Sql Server中 Case函数的用法

    今天 在写存储过程的时候,要用到根据传入的不同数值(我传入的是当前是周几,即周日传入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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值