开发者

Matching part of a multivalued field to my setString function

I am trying to select payment plans for a specific t开发者_如何学编程erm from my database. The problem is that my pay_plan field is multivalued, and is set up like this: UTAD*00000*2010SP. I want to match up the specific terms like so:

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

stmt.setString(1, term);

Is there anyway to only match the characters after the final *, or is there any other way to go about this?


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

This means you'll match only the last bit and assume you always have abc*123*wanted

Note: an index will be ignored because of the leading % so you'll have to accept poor performance as a consequence of un-normalised data


Try last index of * and then do a substring in the query.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜