最近在学写sql 语句,但发现不会写三目,就如?:之类的,大虾们,知道简单点的方法吗??

解决方案 »

  1.   

    sql里是case when then 
      

  2.   

    sql里面没有三目运算。要不if else 要不就楼上的case when then
      

  3.   

    case when then 可以实现这样的功能。
      

  4.   

    case 字段 is null then 'true' else 参数 end 
      

  5.   

    case when @参数 is null then true else @参数 end
      

  6.   

    where (columnA=@参数 or @参数 is null)where columnA=isnull(@参数,columnA )
      

  7.   

    大家帮忙看看,为什么这个储存过程会报“关键字 'is' 附近有语法错误。”这样的错误@MemberID int
    as
    begin
    select *
    from MemberInfo
    where CASE @MemberID is null then 1=1 else MemberID=@MemberID
    end
      

  8.   

    @MemberID int
    as
    begin
    select *
    from MemberInfo
    where CASE isnull(@MemberID,'')='' then 1=1 else MemberID=@MemberID
    end
      

  9.   


    @MemberID int
    as
    begin
    select *
    from MemberInfo
    where CASE when @MemberID is null then 1=1 else MemberID=@MemberID
    end
      

  10.   

    谢谢大家,我慢慢知道怎么写了,应该是这样的
    where MemberID= CASE when @MemberID is null then MemberID else  @MemberID end
      

  11.   

    不知道还有没有其他的sql里用作判断的???
      

  12.   

    where   @MemberID is null or MemberID=@MemberID
    where isnull(@MemberID,MemberID)=MemberID
    ...
      

  13.   


    declare @MemberID varcharbeginselect *
    from MemberInfo
    where MemberID=(CASE when @MemberID is null then MemberID else @MemberID end)end