mssql 筛选出手机号的数据

webskyer 2015-05-25 12:36:50
我有个数据表名为test,字段为mobile,内容有如下图片


要怎么写条件where,帮忙指点下。谢谢大哥们。
...全文
368 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
webskyer 2015-05-28
  • 打赏
  • 举报
回复
谢谢大哥们。已经有些答案了。


如上图:我只要mobile里的 正确的手机号:可能坐机和手机号的位数都是11位(或者是11位的数字,但不是正确的手机开头),符合标准的只能ID为1和7的。要是判断下手机的吧。。因为数据比较多。我只列了部分。
前天不知道为什么我电脑不能上传图片。现在可以了。
webskyer 2015-05-28
  • 打赏
  • 举报
回复
嗯 那谢谢各位了。至少是帮了我大忙了。
还在加载中灬 2015-05-28
  • 打赏
  • 举报
回复
其实,你只需要限制1开头然后有11位就差不多了,13 14 15 18的都见过,也可能列不全,或以后会出其他的,指不定你真限制得很好,生活中还是个空号
SELECT * FROM test
WHERE mobile LIKE'1[3458]'+REPLICATE('[0-9]',9)
zbdzjx 2015-05-28
  • 打赏
  • 举报
回复
目前应该是有下面这些号码段吧,要么就建个文件,存储这些内容,如有新的号码段,再手工增加。 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188、183 联通:130、131、132、152、155、156、185、186 电信:133、153、180、189 其他:170
Neo_whl 2015-05-26
  • 打赏
  • 举报
回复

--借楼上
SELECT * FROM test
WHERE mobile LIKE '1'+REPLICATE('[0-9]',10) or model like REPLICATE('[0-9]',4)+'-'+replicate('[0-9]',6)
还在加载中灬 2015-05-26
  • 打赏
  • 举报
回复
SELECT * FROM test
WHERE mobile LIKE'1'+REPLICATE('[0-9]',10)
zyq21859635 2015-05-26
  • 打赏
  • 举报
回复
没看到如,这样就行吧 select mobile from test where len(mobile)=11
道玄希言 2015-05-26
  • 打赏
  • 举报
回复
我要输出的内容是正确的手机号,少位数的也不行。坐机也行。 只要手机, 如果保存时, 手机号前边加了 0 或者 添加了 国际代码如 +8612345678901 或者 8612345678901 这类呢? 座机6位, 7位, 8位, 带不带区号, 国际代码+座机号 等, 或者还附加有分机号的... 好复杂....
webskyer 2015-05-25
  • 打赏
  • 举报
回复
我有个数据表名为test,字段为mobile,内容有如下图片


我要输出的内容是正确的手机号,少位数的也不行。坐机也行。要怎么写条件where,帮忙指点下。谢谢大哥们。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧