我有varchar列类型。以下是列值示例 - "A - 474, B - 709, C - 397, D - 48"
如果我想搜索EXACT
号码,一切正常。我使用php和查询 -
$note[$key][0] = "B";
$note[$key][1] = "709";
"SELECT 1 FROM example WHERE column LIKE '%".$note[$key][0]." - ".$note[$key][1]."%"
但是如何修改查询以搜索增加的值? 我想要这样的东西:
"SELECT 1 FROM example WHERE column LIKE '%".$note[$key][0]." and value >= 50"%"
我认为RLIKE
可能是解决方案。是对的吗?是否存在性能问题?
答案 0 :(得分:0)
您可以拆分该值。我会说substring_index()
是要走的路:
where column = '$key[0]%' and
substring_index(column, ' - ', -1) + 0 >= 50
注意:您应该开始使用参数化查询,而不是将用户提供的值嵌入到查询字符串中。