Подтвердить что ты не робот

Подбор строки запроса MySQL SELECT

Обычно, при запросе базы данных с помощью SELECT, ее общий поиск, чтобы найти записи, соответствующие данной строке поиска.

Например:

SELECT * FROM customers WHERE name LIKE '%Bob Smith%';

Этот запрос должен дать мне все записи, где "Боб Смит" появляется где угодно в поле имени.

Что я хотел бы сделать, это наоборот.

Вместо того, чтобы найти все записи, которые имеют "Bob Smith" в поле имени, я хочу найти все записи, в которых поле имени находится в "Robert Bob Smith III, PhD.", строковый аргумент для запроса.

4b9b3361

Ответ 1

Просто включите LIKE вокруг

SELECT * FROM customers
WHERE 'Robert Bob Smith III, PhD.' LIKE CONCAT('%',name,'%')

Ответ 2

Вы можете использовать регулярные выражения, например:

SELECT * FROM pet WHERE name REGEXP 'Bob|Smith'; 

Ответ 3

Вы также можете использовать

SELECT * FROM customers WHERE name LIKE "%Bob Smith%";

обратите внимание на Double Quotes

Ответ 4

В приведенном выше запросе Если мы выполняем поиск с помощью некоторого специального символа, например: '__' или '()', чем его получение всех данных,

SQL > выберите * из test_brck, где NVL (UPPER (v_name), 1) LIKE nvl (UPPER ('%' || & v_name || '%'), NVL (UPPER (v_name), 1));

Введите значение для v_name: '_'

old 2: где NVL (UPPER (v_name), 1) LIKE nvl (UPPER ('%' || & v_name || '%'), NVL (UPPER (v_name), 1))

new 2: где NVL (UPPER (v_name), 1) LIKE nvl (UPPER ('%' || '_' || '%'), NVL (UPPER (v_name), 1))

V_NAME

Раму (пошел gbl)

Ramj

Раму_Каран (пошел blr)

Sidd_Karan

ABC% ^

xy123

ABC

Выбрано 7 строк.

выход:

Раму_Каран (пошел blr)

Sidd_Karan

Ответ 5

Неправильно:

SELECT * FROM customers WHERE name LIKE '%Bob Smith%';

Вместо

select count(*)
from rearp.customers c
where c.name  LIKE '%Bob smith.8%';

select count будет просто запрашивать (итоговые значения)

C свяжет db.table с строкой имен, которая вам нужна, чтобы индексировать

LIKE должен быть obvs

8 будет вызывать все ссылки в БД 8 или меньше (на самом деле не нужно, но мне нравится аккуратность)