2015-07-10 75 views
0

我目前正在使用URL中的通配符匹配。用戶在URL中給出的參數應與數據庫中的值匹配。如果參數與PDR - * - BC類似,則應匹配所有值。如何在同一條件下使用'='和LIKE運算符sql

我取代了*同%在PHP code.and添加像SQL查詢中,

"Where tablename.columnname LIKE ."'mysql_real_escape_string($arg,$sql)'"" . 

如果用戶在URL給予 「PDR-NRT-BC」,用 '=' SQL查詢或LIKE將獲取相同的匹配,但是當參數具有空白時,LIKE不會返回任何值。

但是對於通配符匹配「LIKE」將有助於相關比賽。

我必須在同一個sql查詢中同時執行兩個條件(單個arg和通配符)。

有沒有辦法做到這一點?

+0

你會如何知道它是*確切*?使用'OR'怎麼樣? –

+1

我刪除了sql-server標記,就像它不是一個sql-server特定的問題。 – Ionic

+0

[LIKE和=在MYSQL中的區別?](http://stackoverflow.com/questions/1003381/difference-between-like-and-in-mysql) – SpongePablo

回答

0

當沒有通配符時,「LIKE」與「=」相同。而在SQL Server中,我非常肯定執行計劃是一樣的。

+0

不,如果數據庫中的數據有尾隨空格,LIKE將不會獲取values.But'='會執行 –