<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

    主站蜘蛛池模板: 中文字幕永久免费| 在线视频亚洲一区| 免费黄网站在线看| 亚洲午夜久久久影院伊人| 一个人看的hd免费视频| 亚洲VA综合VA国产产VA中| 四虎影视永久在线精品免费| 亚洲精品无码99在线观看| 一级毛片人与动免费观看| 亚洲五月综合缴情在线观看| 韩国免费a级作爱片无码| 亚洲乱色熟女一区二区三区丝袜| 国产视频精品免费视频| 亚洲AV无码乱码在线观看富二代| a毛片久久免费观看| 亚洲一区二区成人| 日本妇人成熟免费中文字幕| 亚洲色成人四虎在线观看| 免费一级特黄特色大片在线| 一区二区免费在线观看| 亚洲国产精品无码成人片久久| 久9这里精品免费视频| 亚洲jjzzjjzz在线播放| 四只虎免费永久观看| 巨胸喷奶水www永久免费| 亚洲人成网站在线播放影院在线| 91网站免费观看| 久久亚洲中文字幕无码| 亚洲综合AV在线在线播放| 59pao成国产成视频永久免费| 亚洲欧美黑人猛交群| 亚洲人成网站在线观看青青| 日韩午夜理论免费TV影院| 亚洲最大中文字幕无码网站| 亚洲日韩中文字幕日韩在线| 免费无码H肉动漫在线观看麻豆| 亚洲噜噜噜噜噜影院在线播放| 四虎永久免费观看| 亚洲午夜免费视频| 亚洲av永久中文无码精品| 亚洲精品一品区二品区三品区|