Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Можно ли так использовать оператор LIKE?
 
 автор: Zilog   (26.06.2012 в 14:37)   письмо автору
 
 

Можно ли так использовать оператор LIKE?
...WHERE tab1.fuiled1 LIKE ("%tab2.filed1%")?

проблема в том, что указанное в кавычках оператор воспринимает как текст.

  Ответить  
 
 автор: Lotanaen   (26.06.2012 в 14:44)   письмо автору
 
   для: Zilog   (26.06.2012 в 14:37)
 

можно воспользоваться функциями : LOCATE(substr,str), POSITION(substr IN str) либо INSTR(str,substr).

  Ответить  
 
 автор: Zilog   (26.06.2012 в 15:05)   письмо автору
 
   для: Lotanaen   (26.06.2012 в 14:44)
 

>можно воспользоваться функциями : LOCATE(substr,str), POSITION(substr IN str) либо INSTR(str,substr).

Мы друга друга не поняли. Причём здесь строковые функции? Мне надо передать оператору LIKE значение из поля.

upd. Хотя да, замысел понял. Что-то у меня сервер ругается на все три функции вот таким образом: FUNCTION table.INSTR does not exist.

  Ответить  
 
 автор: Lotanaen   (26.06.2012 в 15:28)   письмо автору
 
   для: Zilog   (26.06.2012 в 15:05)
 

а что у Вас за синтаксис запроса? попробуйте таким образом:

WHERE INSTR(tab2.filed1,tab1.filed1)>0

  Ответить  
 
 автор: Zilog   (26.06.2012 в 15:40)   письмо автору
 
   для: Lotanaen   (26.06.2012 в 15:28)
 

ну да, так и записано. ругается.

  Ответить  
 
 автор: Lotanaen   (26.06.2012 в 15:51)   письмо автору
 
   для: Zilog   (26.06.2012 в 15:40)
 

покажите ваш запрос - у меня все работает

  Ответить  
 
 автор: Zilog   (26.06.2012 в 16:03)   письмо автору
 
   для: Lotanaen   (26.06.2012 в 15:51)
 

Виноват, косяк был. Запрос заработал, но засасывает больше данных чем нужно.
Буду думать...

  Ответить  
 
 автор: Sfinks   (28.06.2012 в 02:48)   письмо автору
 
   для: Zilog   (26.06.2012 в 14:37)
 

>Можно ли так использовать оператор LIKE?
>...WHERE tab1.fuiled1 LIKE ("%tab2.filed1%")?


Можно так:
...WHERE tab1.fuiled1 LIKE concat('%', tab2.filed1, '%')

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования