これは私が取り組んでいることの非常に単純化されたバージョンですが、うまくいけば私の主張が伝わるでしょう。
次のような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')";
私が取り組んでいるメソッドは、括弧内の値の 1 つをパラメーターとして受け取ります。たとえば、「EFG」です。この値を含むテーブル内のすべての行を取得することは可能ですか? 私は次のようなことをすると知っています:
SELECT * from Table1 where Val LIKE "%EFG%"
私は正しい値を取得できます。私の問題は、たとえば値の1つが次のようになる可能性があるため、より具体的にする必要があることです。
Reference.Int('ABCD') + EFGX/200
また
EFG + anything else
「Reference.Str()」という部分も何らかの形で含める必要があることを意味します。括弧内にあるものは特に気にしません。唯一の関心事は、受け取ったパラメーターの値を含むものを取得することです。
これが REGEXP を使用して解決できるかどうか疑問に思っていましたが、これに関する私の知識はせいぜい弱いものです。
どんな助けでも大歓迎です。