Как найти вхождение части строки в строке php
Подскажите, как получить кусок строки из базы на основании полной строки. Есть данные VIN авто, допустим JZX906634931. В базе есть поле допустим "kuzov" и там кусок от VIN, в данном случае это JZX90. Вопрос, как получить запись в базе с JZX90 на основание VIN? Заранее спасибо!
Ответы (2 шт):
Автор решения: Vadim Pedchenko
→ Ссылка
Можете попробовать так:
SELECT
kuzov
FROM
table
WHERE
vin REGEXP '^[JZX906634931]+$'
Автор решения: Akina
→ Ссылка
Если известно, что полное значение поля kuzov есть точная подстрока известного значения VIN, то
SELECT table.*
FROM table
WHERE INSTR(@known_VIN, table.kuzov)
Если к тому же известно, что эта подстрока идёт с самого начала VIN, то
WHERE 1 = INSTR(@known_VIN, table.kuzov)
Если же известно, что поле и заданное значение просто должны иметь общую подстроку длины 4 или более, начиная с любого места - задача непростая, и в рамках встроенных функций не решается.