Это очень упрощенная версия того, над чем я работаю, но, надеюсь, она получит мою точку зрения.Выберите строку, которая содержит
У меня есть таблица MySQL, который выглядит примерно так:
CREATE TABLE Table1(
ID INT AUTO_INCREMENT,
Val VARCHAR(50),
PRIMARY KEY (id)
);
INSERT INTO Table1 (Val) SELECT "Reference.Int('ABCD')";
INSERT INTO Table1 (Val) SELECT "Reference.Str('EFG','ABC')";
INSERT INTO Table1 (Val) SELECT "Reference.Int('HIJ','EFG','ABC')";
Метод я работаю над получает в качестве параметра один из значений в скобках, например: «EFG». Возможно ли, чтобы я захватил все строки в таблице, которые содержат это значение. Я знаю, что если я что-то вроде:
SELECT * from Table1 where Val LIKE "%EFG%"
я могу получить правильные значения, моя проблема заключается в том, что я должен быть более конкретным, так как, например, один из значений может выглядеть примерно так:
Reference.Int('ABCD') + EFGX/200
или
EFG + anything else
это означает, что мне нужно каким-то образом включить эти части также: "Reference.Str()". Мне все равно, что в скобках ничего не стоит, моя единственная забота - получить те, которые содержат значение параметра, который я получаю.
Мне было интересно, можно ли это решить с помощью REGEXP, но мои знания об этом в лучшем случае слабы.
Любая помощь приветствуется.
Я не понимаю проблему. Почему 'Val LIKE"% EFG% "' недостаточно? – ruakh
@ruakh: Рассмотрим следующее значение «Ссылка.Int ('EGFGASDSFSDGF') « –
Так понравилось бы«% »EFG«% »быть лучше? – MadProgrammer