2

我有一张表,其中有些名称带有前导空格,有些名称没有。

我有一个变量$name,我必须与表中的名称匹配,$name它没有前导空格。在这种情况下,我应该如何编写查询?

4

2 回答 2

3

修剪每个值的前导和尾随空格。

SELECT *
FROM tableName
WHERE TRIM(colName) = '$name'

TRIM修剪前导和尾随
LTRIM修剪前导空格
RTRIM修剪尾随空格

于 2012-10-08T06:51:25.937 回答
0

我建议使用SELECT * FROM tableName WHERE colName = '$name' Or colName = concat(' ' , '$name') . 主要原因是索引的使用:如果您对计算列进行过滤,ltrim(colName)则数据库引擎不能在 colName 上使用任何索引。我的建议是允许在 colName 上使用索引。

于 2012-10-08T07:12:50.367 回答