MySQL varchar имеет разрыв строки и рабочее LIKE-предложение в PHP - PullRequest
0 голосов
/ 21 августа 2011

У меня есть 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), но безуспешно. Я не могу использовать «%», потому что мне нужны идеальные совпадения. Есть идеи?

Ответы [ 2 ]

1 голос
/ 21 августа 2011

Попробуйте:

SELECT * FROM table WHERE streetfield LIKE 'street\\nnumber';
0 голосов
/ 21 августа 2011
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
...