我的MySQL数据库中有一个包含项目的表。
我正在尝试查询包含“&”的行。该列是文本值,包含内容“TV& Stands”。
SELECT * FROM `items` WHERE `name` = 'TV & Stands' LIMIT 0 , 30
这会返回0结果,即使“TV& Stands”明显位于名称列中。如果我在没有“&”的情况下查询项目名称字符,它返回正确的值。
我如何正确查询这些数据?
答案 0 :(得分:4)
如果您使用=
运算符,它将同时匹配值和长度。可能是你的字符串在字符串之前/之后包含一些额外的空格,这在正常情况下是不可见的。因此,请尝试LIKE
operator instate。
SELECT * FROM `items` WHERE `name` LIKE '%TV & Stands%'
答案 1 :(得分:2)
数据库应该没有&符号的问题,因此这是应用层的问题。您可以使用like
:
SELECT *
FROM `items`
WHERE `name` LIKE 'TV _ Stands'
LIMIT 0 , 30;