我有一个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