Вы не упоминаете движок БД, поэтому мы не знаем, какие функции доступны ...
Если доступны регулярные выражения, то шаблон типа \d{10,}
будет соответствовать числам с 10 или более цифрами.
В mySQL REGEXP может возвращать только true или false (0 или 1), поэтому вам придется использовать некрасивый хак, например
SELECT
LEAST(
INSTR(field,'0'),
INSTR(field,'1'),
INSTR(field,'2'),
INSTR(field,'3'),
INSTR(field,'4'),
INSTR(field,'5'),
INSTR(field,'6'),
INSTR(field,'7'),
INSTR(field,'8'),
INSTR(field,'9')
) AS startPos,
REVERSE(field) AS backward,
LEAST(
INSTR(backward,'0'),
INSTR(backward,'1'),
INSTR(backward,'2'),
INSTR(backward,'3'),
INSTR(backward,'4'),
INSTR(backward,'5'),
INSTR(backward,'6'),
INSTR(backward,'7'),
INSTR(backward,'8'),
INSTR(backward,'9')
) AS endPos,
SUBSTRING(field, startPos, endPos - startPos + 1)
FROM tab
WHERE(field REGEXP '[0-9]{10,}')
, но это не такt идеально - он извлечет ложную подстроку для строки типа «ABC 9 A 1234567891», не говоря уже о том, что она, вероятно, настолько медленная, что быстрее обрабатывает данные вручную.