我的表中有一列workId
,其值如下:
x1米1米1x,x1米2米1x
现在,一个用户想要获取这个特定的id G2/2018/2345
。我在查询中使用like
运算符,如下所示:select * from u_table as s where s.workId like '%2345%'
.
它给了我上面提到的两个工作ID。我尝试了以下查询:select * from u_table as s where s.workId like '%2345%' and s.workId not like '_2345'
这个查询也给我同样的结果。
如果有人请提供我正确的查询。谢谢!
1条答案
按热度按时间ddrv8njm1#
为什么不使用现有的分隔符来匹配您的条件?
当然,理想情况下,您的3个独立的值将是3个独立的列;在单个列中界定多个值违反了第一范式,并且阻止优化器执行有效的索引查找,从而强制每次扫描所有行,损害了性能和并发性。