i want to check if a string contains a field value as a substring or not.
select * from mytable where instr("mystring", column_name);
but this does not search on word boundaries.
select * from mytable where instr("mystring", concat('[[:<:]]',column_name,'[[:>:]]');
does not work either. how to correct this?
You can do this using the
REGEXP
operator:Note, however, that this is slow. You might be best off using the MySQL's
FULLTEXT
search feature if you care about words. Or do a normalInStr()
check then filter the results.As already discussed in the question you asked yesterday, no indexes can be used and performance is going to be bad, but this could work:
If you don't need the return value of the
instr
uselike
instead