Java实现判断电话号码运行商
项目需求描述:
后台统计电话号码发送短信统计,要求选择运行商选择查询,包括移动·联通·电信。
privatestaticfinalString[]CT={"133","153","180","181","189"};//电信号段
privatestaticfinalString[]CU={"130","131","132","155","156","185","186"};//联通号段
privatestaticfinalString[]CM={"134","135","136","137","138","139","147","150","151","152","157","158","159","182","183","184","187","188"};//移动号段
首先我考虑的是在数据库查询语句中把电话号码过滤掉,select语句该怎么写?很头疼的问题吧。我不是什么老鸟,想了好久没想出来。我就转变了思路,先把所有的电话号码全部查出来,后通过Java程序把电话号码过滤掉。哈哈,一般的处理就两种,一是从查询语句着手,一是从代码着手,当然从优化的角度着想,能从查询语句解决的问题千万不要用代码来解决,我也是没有办法了才那样做的,事实证明我用代码来处理是不对的。想想先要查出所有的电话号码,这已经是效率低的做法,然后通过代码一个个去对比电话号码的运行商,效率就更差了,要是电话号码有一百万个甚至更多,那样比对多久。这几天重复看了一下SQL语句,办法总比问题多。
我要介绍的是SQL里的mid函数mid(phone,1,3)in('133','153','180','181','189')如果用like就不好解决。
个人看法,求大神指教。