我有一个mysql / innoDB-table,其中的街道名称和数字在同一字段(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

10-07 17:36