MYSQL-查询数据库,其中&;在单元格中


MYSQL - Querying database where & is in cell

我的MySQL数据库中有一个包含项目的表。

我正在尝试查询一个包含"&"的行。该列是一个文本值,包含内容"电视和支架"。

SELECT * FROM  `items` WHERE  `name` =  'TV & Stands' LIMIT 0 , 30

这将返回0个结果,即使"TV&Stands"明显位于名称列中。如果查询不包含"&"字符的项目名称,它将返回正确的值。

如何正确查询此数据?

如果使用=运算符,它将匹配值和长度。可能是您的字符串在正常情况下不可见的字符串之前/之后包含一些额外的空间。所以尝试LIKE运算符instate。

SELECT * FROM  `items` WHERE  `name` LIKE '%TV & Stands%'

数据库不应该有与号的问题,所以这是应用程序层的问题。你可以使用like:绕过它

SELECT *
FROM `items`
WHERE `name` LIKE 'TV _ Stands'
LIMIT 0 , 30;