如何用一个字段简单存储多项值,且可检索

作者:vkvi 来源:ITPOW(原创) 日期:2020-5-31

当我们有一个字段,假设用来存储“曾用名”,大多数人没有曾用名,个别有 1 个,极个别有多个,那么这个字段,我们约定,多个曾用名的,使用“、”隔开。

现在的需求是按曾用名全匹配检索,针对有 1 个曾用名的,比较简单,where fld='检索名字',但是有多个的,就不行,即使用 where fld like '%检索名字%'。

要解决这个情况,理论上我们的做法是额外建立一个表,但是实际项目中,这样把事情搞复杂了。我们可以这样做,给曾用名两端也加上分隔符,比如“、”。

当有 1 个曾用名时,就是:、张三、

当有 2 个曾用名时,就是:、李四、李五、

检索的时候,还是用 like,不过要改造一下,where fld like '%、检索名字、%',这样:检索“张三”,第一条记录出来,检索“李四”或“李五”,第二条记录出来。

相关文章