熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

如何篩選SQL字符串字段中部分值

2013-11-23 21:05:27  來源: MySQL 

  如果需要篩選SQL字符串字段中部分值應該怎麼做呢?下面就教您篩選SQL字符串字段中部分值的記錄的方法供您參考

  例如有一個KKBH(卡口編號)字段這是一個字典字段(對應另一個實體表(卡口表)的編號字段)這個字段的值保存所屬卡口值域{}

  本來想到的是通過or來實現這樣需要動態生成SQL語句

  後來想到一個辦法用charindex搜索SQL字符串的辦法將所有的要查的卡口編號組成類似@這樣待查字符串sql查詢時通過charindex篩選出在待查SQL字符串裡有的KKBH的記錄

  經測試使用or與使用charindex兩者在MSSQL中執行效率差不多

  具體實現

  用戶界面查詢需求可能搜索N個卡口的記錄(N的值域{所有卡口個數})設計這個UI的形式一共三種

  一一個多選listbox用戶界面運行時將卡口字典表載入listbox信息

  二兩個listbox左邊為待選右邊為已選中間加兩個按鈕添加與刪除用戶界面運行時將卡都字典表載入左邊的listbox

  三多個Checkbox可以在界面設計階段直接做死字典表即有幾個卡口就話幾個checkbox或者在程序運行根據字典表繪制動態繪制checkbox

  UI的優缺點這裡不討論我這裡選擇第三種方式的動態繪制

  在查詢階段根據所選卡口生成待選SQL字符串入"@

  並將此條件傳回後台查詢服務程序

  後台查詢服務裡只要待查SQL字符串作為參數傳入查詢的SQL語句中(sql片段) charindex(卡口編號@待查字符串)當然也可以手動生成SQL方式傳入"charindex(卡口編號"+待查字符串+")"


From:http://tw.wingwit.com/Article/program/MySQL/201311/29554.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.