日期:2014-05-18  浏览次数:20459 次

怎么把字符段里的数字筛选出来
我有一张表a,表有字段b,b里有很多条记录,如“大家好,我叫小敏,我的电话号码是13317760462”、“各位同学你们好,我是高3(1)班的小黄,我的电话是15877264838,希望大家多多照顾”等,我想从这些记录中用SQL语句单独筛选出电话号码,应该怎么实现呢?

------解决方案--------------------
如果号码固定是手机号码的话还好办些,如果有座机号,还可以有区号没区号的话就不太好办了。
SQL code

IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'tba')
BEGIN
    DROP TABLE tba
END
GO
CREATE TABLE Tba
(
    Memo VARCHAR(100)
)
GO
INSERT INTO Tba
SELECT '大家好,我叫小敏,我的电话号码是13317760462' UNION
SELECT '各位同学你们好,我是高3(1)班的小黄,我的电话是15877264838,希望大家多多照顾'
GO

SELECT SUBSTRING(Memo,PATINDEX('%[1234567890][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890]%',Memo),11) AS MobilePhone
FROM Tba

MobilePhone
13317760462
15877264838