首页 新闻 会员 周边 捐助

数据库中使用正则表达式

0
悬赏园豆:30 [已关闭问题] 关闭于 2015-01-15 11:55

数据库中有一个字段有Tb23456,Tbs123456,tasd1234,DFS1243456这些类型,过滤掉只要Tb开头的这个类型的呢,连Tbs开头的都不要。

noert的主页 noert | 初学一级 | 园豆:34
提问于:2013-11-27 23:39
< >
分享
所有回答(9)
0

/^Tb\d{5}$/

唯我独萌 | 园豆:537 (小虾三级) | 2013-11-27 23:43

怎么放到数据库中去啊?

支持(0) 反对(0) noert | 园豆:34 (初学一级) | 2013-11-28 08:53

@noert:  不能放到数据库中,只能是将所有字段取出,然后拼接成字符串,用regex.matches方法,得到匹配项的mathCollection

支持(0) 反对(0) 唯我独萌 | 园豆:537 (小虾三级) | 2013-11-28 11:43
0

不是很建议在数据库使用正则表达式!在数据库操作越简单越好!建议在代码实现过滤的功能

秋壶冰月 | 园豆:5903 (大侠五级) | 2013-11-27 23:47

那样不得查询完出来在过滤啊?我数据量很大,会不会很慢?

支持(0) 反对(0) noert | 园豆:34 (初学一级) | 2013-11-28 08:52

@noert: 你查询的时候,会很慢吗?数据量有多大啊!如果很大的话,将放到队列中,定时从队列中取出来然后放到数据库中,或者使用nosql,如mangodb之类!

支持(0) 反对(0) 秋壶冰月 | 园豆:5903 (大侠五级) | 2013-11-28 09:05
0

你们的存储结构又问题

空明流光 | 园豆:111 (初学一级) | 2013-11-28 09:51
0

我在sina 博客写过一篇,关于sql server使用正则的博文,图文的,你可以去看看,有问题一起讨论下:

在sql server2005使用正则表达式

袁家小黑球 | 园豆:1045 (小虾三级) | 2013-11-28 10:24

谢谢,数据库不支持直接在数据库中写正则表达式吗?

支持(0) 反对(0) noert | 园豆:34 (初学一级) | 2013-11-28 11:20

@noert: 是的,数据库本身不支持正则,只支持模糊查询

支持(0) 反对(0) 袁家小黑球 | 园豆:1045 (小虾三级) | 2013-11-28 15:31
0

在数据库里用正则查询,  只要查询时间不是慢得不可以接受,尽管用吧

 

Albert Fei | 园豆:2102 (老鸟四级) | 2013-11-28 10:48
0

怕什么,几个G的数据库系统,这点能耐都没有,还用个毛。如果实在太慢应该是表设计不合理。

大芝麻 | 园豆:4 (初学一级) | 2013-11-28 11:17
1

直接用SQL写,column not like 'tb%',即可过滤

雾静 | 园豆:561 (小虾三级) | 2013-11-28 23:18
0

为什么不用模糊查询呢

asp点net_菜鸟 | 园豆:7 (初学一级) | 2013-11-29 10:40
1

直接使用模糊查询即可

木乌 | 园豆:1015 (小虾三级) | 2013-12-17 13:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册