数据库中有一个字段有Tb23456,Tbs123456,tasd1234,DFS1243456这些类型,过滤掉只要Tb开头的这个类型的呢,连Tbs开头的都不要。
/^Tb\d{5}$/
怎么放到数据库中去啊?
@noert: 不能放到数据库中,只能是将所有字段取出,然后拼接成字符串,用regex.matches方法,得到匹配项的mathCollection
不是很建议在数据库使用正则表达式!在数据库操作越简单越好!建议在代码实现过滤的功能
那样不得查询完出来在过滤啊?我数据量很大,会不会很慢?
@noert: 你查询的时候,会很慢吗?数据量有多大啊!如果很大的话,将放到队列中,定时从队列中取出来然后放到数据库中,或者使用nosql,如mangodb之类!
你们的存储结构又问题
我在sina 博客写过一篇,关于sql server使用正则的博文,图文的,你可以去看看,有问题一起讨论下:
谢谢,数据库不支持直接在数据库中写正则表达式吗?
@noert: 是的,数据库本身不支持正则,只支持模糊查询
在数据库里用正则查询, 只要查询时间不是慢得不可以接受,尽管用吧
怕什么,几个G的数据库系统,这点能耐都没有,还用个毛。如果实在太慢应该是表设计不合理。
直接用SQL写,column not like 'tb%',即可过滤
为什么不用模糊查询呢
直接使用模糊查询即可