将多值字段的一部分与我的setString函数匹配

时间:2011-04-13 16:38:43

标签: sql

我正在尝试从我的数据库中选择特定字词的付款方案。问题是我的pay_plan字段是多值的,并且设置如下:UTAD * 00000 * 2010SP。我想匹配特定条款,如下:

stmt = conn.prepareStatement("SELECT person FROM schema.payments WHERE pay_plan = ?"); 

stmt.setString(1, term);

无论如何只能在最后的*之后匹配字符,或者还有其他方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

WHERE
   pay_plan LIKE '%*%*' + @MySearchValue; 

这意味着您只会匹配最后一位,并假设您始终拥有abc*123*wanted

注意:由于前导%,索引将被忽略,因此您必须接受因未规范化数据而导致的糟糕表现

答案 1 :(得分:0)

尝试last index of *,然后在查询中执行子字符串。