这是我正在处理的一个非常简化的版本,但希望它能够得到我的观点。选择字符串,其中包含
我有一个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 2013-02-11 19:49:10
@ruakh:考虑以下值“参考。Int('EGFGASDSFSDGF')“ – 2013-02-11 19:51:25
所以会像”%'EFG'%“更好吗? – MadProgrammer 2013-02-11 19:52:51