Study Area Facebook粉絲團http://www.facebook.com/sataiwan
0 會員 與 1 訪客 正在閱讀本文。
用 or xxxx = colname 多設定幾個 不就好了...
引述: "Darkhero"用 or xxxx = colname 多設定幾個 不就好了...您好~也就是說 沒辦法xxx,XXX,XXX =colname這樣直接寫不行囉?一定要有or 是嗎?
xxx,XXX,XXX =colname
嗯, 原來 where in 還可以這樣用..在單純的等於搜尋是可以, 如果要用 like 的話就破功了..找了一下 mysql 的網站, 沒看到有這種用法的說明 :roll:
以performace來講的話, DB2這邊用where id = '1' or id ='2' or id ='3'會優於where id in (1,2,3).不知道MySQL是否也是如此?當然可能也考慮一下量大不大? 小量資料的話或許沒感覺, 就選方便寫的吧.
引述: "yamaka"嗯, 原來 where in 還可以這樣用..在單純的等於搜尋是可以, 如果要用 like 的話就破功了..找了一下 mysql 的網站, 沒看到有這種用法的說明 :roll:要 like ,mysql也有其他用法 以下用法太 evil 小孩及新手不宜----------------------+----+-----------+-----------+| id | char1 | char213 |+----+-----------+-----------+| 1 | 1,2,3,4,5 | 1,2,3,4,5 || 2 | 1,2 | 1,2 || 3 | 12341234 | 12341234 || 4 | 2,4,5 | 2,4,5 |+----+-----------+-----------+SELECT *FROM `test_string` where instr(concat(id,char1,char213),1) > 0
同樣 php 如果要 if( $a='a' or $b='a' or $c='a')可以用 if(in_array('a',array($a,$b,$c)))
引述: "micmic3"同樣 php 如果要 if( $a='a' or $b='a' or $c='a')可以用 if(in_array('a',array($a,$b,$c)))嗯嗯~~所以說, 熟悉程式語言的特性的話, 加上一些創造力, 同樣的功能可以用不同方式表達, 就看自己如何運用了~~
引述: "micmic3"引述: "yamaka"嗯, 原來 where in 還可以這樣用..在單純的等於搜尋是可以, 如果要用 like 的話就破功了..找了一下 mysql 的網站, 沒看到有這種用法的說明 :roll:要 like ,mysql也有其他用法 以下用法太 evil 小孩及新手不宜----------------------+----+-----------+-----------+| id | char1 | char213 |+----+-----------+-----------+| 1 | 1,2,3,4,5 | 1,2,3,4,5 || 2 | 1,2 | 1,2 || 3 | 12341234 | 12341234 || 4 | 2,4,5 | 2,4,5 |+----+-----------+-----------+SELECT *FROM `test_string` where instr(concat(id,char1,char213),1) > 0邪惡用法有限制歐,只能用在單數(0~9),因為這裡是用concat,如果兩位數以上有可能會抓錯XD我自己還是比較喜歡用程式判別,比較保險XD
邪惡用法有限制歐,只能用在單數(0~9),因為這裡是用concat,如果兩位數以上有可能會抓錯XD我自己還是比較喜歡用程式判別,比較保險XD
如果資料欄位中真的要存這種1,2,3,4,11,12,13,14資料的話....我會用"1","2","3","4","11","12","13","14"然後找資料就用"1"去找
function create_where_str($columns,$needle){ $return_str = ''; foreach($columns as $val){ $return_str[] = "{$val} like '%$needle%' "; } return implode(' or ',$return_str);}
$query_str = 'abc';$columns = array('id','name','username','address');$sql = "Select * from myTable where ";$sql .= create_where_str($columns,$query_str);mysql_query($sql);