SELECT * FROM JHRW 
where TXLDCS<TXCS and 
case TXZQ  
when '一天' then dateadd(day,1,YXSJ)<getdate()
when '两天' then dateadd(day,2,YXSJ)<getdate()比较不了大小服务器: 消息 170,级别 15,状态 1,行 4
第 4 行: '<' 附近有语法错误。

解决方案 »

  1.   


    似乎应该这样,没测试SELECT * FROM JHRW 
    where TXLDCS <TXCS and 
    getdate()>(case TXZQ  
    when '一天' then dateadd(day,1,YXSJ) when '两天' then dateadd(day,2,YXSJ) else .... end)
      

  2.   


    SELECT * FROM JHRW WHERE (TXLDCS <TXCS) and ((CASE TXZQ WHEN '一天'THEN dateadd(day,1,YXSJ)
    when '两天' then dateadd(day,2,YXSJ) END)<getdate())
      

  3.   

    SELECT * FROM JHRW WHERE TXLDCS < TXCS AND TXZQ = '一天' AND GETDATE() > DATEADD(day, 1, YXSJ)
    UNION ALL
    SELECT * FROM JHRW WHERE TXLDCS < TXCS AND TXZQ = '两天' AND GETDATE() > DATEADD(day, 2, YXSJ)
      

  4.   

    sql server中when要与case连用
      

  5.   


    SELECT * FROM JHRW 
    where TXLDCS<TXCS and 
    (select 
    case TXZQ
    when '一天' then dateadd(day,1,YXSJ)
    when '两天' then dateadd(day,2,YXSJ)
    when '三天' then dateadd(day,3,YXSJ)
    when '一周' then dateadd(day,7,YXSJ)
    when '两周' then dateadd(day,14,YXSJ)
    end as TXZQ)<getdate()