Hola newtron.
Esta consulta (en Firebird) te devuelve el primer hueco entre codigos tomando como referencia el código que pusiste:
Código SQL
[-]
SELECT FIRST 1 CAST(SUBSTRING(T1.CADENA FROM 3 FOR 6) AS INTEGER)+1 AS FALTA
FROM TABLA T1
WHERE NOT EXISTS(SELECT 1 FROM TABLA T2
WHERE(CAST(SUBSTRING(T2.CADENA FROM 3 FOR 6)AS INTEGER) =
CAST(SUBSTRING(T1.CADENA FROM 3 FOR 6)AS INTEGER)+1))
No sé si será eficiente, SQL no es mi punto fuerte... (y lo demás tampoco
)
Un saludo.