我有一个 mysql/innoDB 表,其中街道名称和号码位于同一字段 (varchar(255)),并以换行符分隔。
有很多想法如何将其放在那里,但现在我需要在 PHP 的帮助下搜索匹配的街道+数字,但没有找到解决方案:
我想查找包含以下内容的“streetfield”字段:
street
number
我知道街道和数字的确切值
我用普通的 SQL 尝试过,比如
SELECT * FROM table WHERE streetfield LIKE 'street number'
这不起作用。我找到了另一种方法,但这效果不佳
SELECT * FROM table WHERE streetfield LIKE 'street'+CODE(10)+'number'
我尝试了 CODE(13)
和 CODE(10)+CODE(13)
,但没有成功。我不能使用“%”,因为我需要完美匹配。有什么想法吗?
最佳答案
SELECT *
FROM table
WHERE streetfield = 'street \n number'; --- the spaces are for clarity,
--- should be removed
或
SELECT *
FROM table
WHERE streetfield = CONCAT('street', CHAR(10), 'number');
用途:
CHAR(10) for \n
CHAR(13) for \r
关于php - MySQL varchar 在 PHP 中具有换行符和有效的 LIKE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7138648/