我正在尝试从我的数据库中选择特定字词的付款方案。问题是我的pay_plan字段是多值的,并且设置如下:UTAD * 00000 * 2010SP。我想匹配特定条款,如下:
stmt = conn.prepareStatement("SELECT person FROM schema.payments WHERE pay_plan = ?");
stmt.setString(1, term);
无论如何只能在最后的*之后匹配字符,或者还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
WHERE
pay_plan LIKE '%*%*' + @MySearchValue;
这意味着您只会匹配最后一位,并假设您始终拥有abc*123*wanted
注意:由于前导%
,索引将被忽略,因此您必须接受因未规范化数据而导致的糟糕表现
答案 1 :(得分:0)
尝试last index of *,然后在查询中执行子字符串。