zoukankan      html  css  js  c++  java
  • SQL 语句where条件中分情况

    启发性案例一:

    SELECT*FROM KC_GoodStandard WHERE  ( CASE WHEN 'undefined'='{传入的参数}'  THEN 1   ELSE 0 END )=1 OR GoodId='{传入的参数}'
    SELECT*FROM KC_GoodStandard WHERE  ( CASE WHEN ''='{传入的参数}'  THEN 1   ELSE 0 END )=1 OR GoodId='{传入的参数}'

     启发性案例二:

    SELECT*FROM dbo WHERE 1=1 AND
    -------传参时显示
    ((CASE WHEN 'undefined'='$querystring&year&$' OR ''='$querystring&year&$' THEN 0 ELSE 1 END)=1 AND (id>1 AND id<10) )) ---- (id>1 AND id<10) 为此状态下真正想要起作用的条件 
    OR 
    ------默认显示(即链接不传参时显示)
    ((CASE WHEN 'undefined'='$querystring&year&$' OR ''='$querystring&year&$' THEN 1 ELSE 0 END)=1 AND (id>10))    -----(id>10) 为此状态下真正想要起作用的条件

    案例二的设计思想:

      当传入参数时,传参部分CASE条件得到 1=1 即为true,它 AND后边的(id>1 AND id<10),则(id>1 AND id<10)起作用。 同时因为传入了参数,默认显示部分的CESE条件得到 0=1 即为false,它AND后边的便不气作用。

            所以传入参数时,仅有(id>1 AND id<10) 起作用。

          同理,不传参时,也能保证传参部分被过滤掉,默认显示部分剩下。

  • 相关阅读:
    vue2.0 动画
    I. 对缓存进行处理
    G. 【案例】Ajax实现无刷新分页效果
    H. Ajax对XML信息的接收与处理
    F. 异步同步请求
    D. 接收服务器端返回的信息
    E. 请求GET和POST的不同
    C. 发起对服务器的请求
    B. 创建Ajax对象
    A. AJAX介绍
  • 原文地址:https://www.cnblogs.com/dyhao/p/10913018.html
Copyright © 2011-2022 走看看