日期:2014-05-17  浏览次数:20716 次

如何编写sql精确匹配某字段中的特定字符?
oracle数据库中,某张表A有个字段x,内容为"234,432,444,8888",用","来分割数据

我如何写sql,当我想精确匹配里面逗号分割的某个字段?
比如输入888要不匹配,8888则匹配;44不匹配,444才能匹配。类似如此
regexp_like好像只能部分匹配,我实在没辙了

------解决方案--------------------
 你可以把x 字段查询出来。然后按逗号分割, 最后sql查询要查的数据是不是在分割的结果集中。
------解决方案--------------------
你看看。
------解决方案--------------------
引用:
oracle数据库中,某张表A有个字段x,内容为"234,432,444,8888",用","来分割数据

我如何写sql,当我想精确匹配里面逗号分割的某个字段?
比如输入888要不匹配,8888则匹配;44不匹配,444才能匹配。类似如此
regexp_like好像只能部分匹配,我实在没辙了

如果想简单的话,需要对A字段X稍作修改,可以在prc里完成,或在插入该行的时候完成。
观察“234,432,444,8888”发现长度不确定,输入“888”的话,会匹配本不应该匹配上的“8888”,
那我们做如下修改:
将“234,432,444,8888” 转化为 “,234,432,444,8888,”再去使用“,888,”进行匹配;
这样的话可以在原基础上改动最少,也使用了最少的代码解决了这个问题,看看是否可行。