<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yxhxj2006

    常用鏈接

    統計

    最新評論

    深入理解where 1=1的用處

    where 1=1有什么用?在SQL語言中,寫這么一句話就跟沒寫一樣。

    select * from table1 where 1=1與select * from table1完全沒有區別,甚至還有其他許多寫法,1<>2,'a'='a','a'<>'b',其目的就只有一個,where 的條件為永真,得到的結果就是未加約束條件的。

    在SQL注入時會用到這個,例如select * from table1 where name='lala'給強行加上select * from table1 where name='lala' or 1=1這就又變成了無約束的查詢了。

    最近發現的妙用在于,在不定數量查詢條件情況下,1=1可以很方便的規范語句。例如一個查詢可能有name,age,height,weight約束,也可能沒有,那該如何處理呢?

    String sql=select * from table1 where 1=1

    為什么要寫多余的1=1?馬上就知道了。

    if(!name.equals("")){
    sql=sql+"name='"+name+"'";
    }
    if(!age.equals("")){
    sql=sql+"age'"+age+"'";
    }
    if(!height.equals("")){
    sql=sql+"height='"+height+"'";
    }
    if(!weight.equals("")){
    sql=sql+"weight='"+weight+"'";
    }

    如果不寫1=1呢,那么在每一個不為空的查詢條件面前,都必須判斷有沒有where字句,否則要在第一個出現的地方加where

     

    where 1=1的寫法是為了檢化程序中對條件的檢測
    打個比方有三個參數a, b, c
    @sql=select * from tb'
    這三個參數都可能為空
    這時你要構造語句的話,一個個檢測再寫語句就麻煩
    比如
    if @a is not null
    @sql=@sql + " where a=' + @a
    if @b is not null
    這里你怎么寫?要不要加where 或直接用 and ?,你這里還要對@a是否為空進行檢測

    用上 where 1=1 之后,就不存在這樣的問題, 條件是 and 就直接and ,是or就直接接 or

    拷貝表
    create   table_name   as   select   *   from   Source_table   where   1=1;

    復制表結構
    create   table_name   as   select   *   from   Source_table   where   1 <> 1; 

    posted on 2014-05-18 01:04 奮斗成就男人 閱讀(281) 評論(0)  編輯  收藏 所屬分類: SQL

    主站蜘蛛池模板: 99re6在线精品免费观看| 亚洲国产精品无码观看久久| 两性色午夜免费视频| 亚洲日韩在线观看免费视频| 一边摸一边爽一边叫床免费视频| 亚洲不卡无码av中文字幕| 亚洲国产aⅴ成人精品无吗| 在线观看永久免费视频网站| 亚洲欧美aⅴ在线资源| 麻豆精品国产免费观看| 国产青草亚洲香蕉精品久久| 四只虎免费永久观看| 国产大片免费天天看| 亚洲国产精品无码专区影院| 3344永久在线观看视频免费首页| 91亚洲国产成人久久精品网址| 日本免费网址大全在线观看| 亚洲成av人片天堂网无码】| 人人狠狠综合久久亚洲高清 | 亚洲欧美国产国产综合一区 | 99国产精品永久免费视频| 亚洲熟妇自偷自拍另欧美| 国产成人免费a在线视频app | 亚洲国产一区二区三区在线观看 | 亚洲日韩在线视频| 大学生高清一级毛片免费| 猫咪免费人成网站在线观看入口 | 国精无码欧精品亚洲一区| **一级一级毛片免费观看| 亚洲精品久久无码| 日韩一卡2卡3卡4卡新区亚洲| 日本免费人成视频在线观看| 亚洲欧美日韩久久精品| 久久亚洲综合色一区二区三区| 国产精品免费观看| 丰满妇女做a级毛片免费观看| 亚洲综合色一区二区三区小说| 国产无遮挡吃胸膜奶免费看视频| 国产三级在线免费| 国产亚洲玖玖玖在线观看| 亚洲啪啪AV无码片|