2015-07-10 67 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'='会执行 –