This actually works:
create table T (data char(40));
insert into T values
('Phone: 1235678'),
('Tel: 0505074455'),
('Phone: 0418192244');
select REPLACE(data, 'Phone: ','') from T;
Result:
REPLACE(DATA, 'PHONE: ','')
1235678
Tel: 05-05-07-44-55
0418192244
If you only want "matching" lines, you should add a relevant where clause:
select REPLACE(data, 'Phone: ','') from T
where data LIKE 'Phone: %';
If you really want numbers you might use CAST ... as DECIMAL
select CAST(REPLACE(data, 'Phone: ','') as DECIMAL) from T
where data LIKE 'Phone: %';
If you have to deal with case, try normalizing the string using LOWER:
select CAST(REPLACE(LOWER(data), 'phone: ','') as DECIMAL) from T
where LOWER(data) LIKE 'phone: %';
That later would not perform well because MySQL won't be able to use the potential index on data I think. If you need, you should use case insensitive collation for the datacolumn. But that's an other story...
http://sqlfiddle.com/#!2/38218d/7
phonewould you save the data with text in there anyway?