Código SQL:
Ver originalCREATE TABLE #temp
(
valores VARCHAR(50)
)
INSERT INTO #temp VALUES (74142601)
INSERT INTO #temp VALUES (74142602)
INSERT INTO #temp VALUES (74142603)
INSERT INTO #temp VALUES (74142699)
INSERT INTO #temp VALUES (741426100)
INSERT INTO #temp VALUES (741426101)
INSERT INTO #temp VALUES (741426102)
SELECT MAX(CONVERT(INT,valor)) FROM (
SELECT CASE WHEN LEN(valores)=8 THEN
SUBSTRING(valores,len(valores)-2,len(valores)) ELSE
SUBSTRING(valores,len(valores)-3,len(valores)) END AS valor FROM #temp) t1
porque no te sale el 102? sencillo porque estas tomando valores de 3 digitos lo cual funciona cuando son 8 digitos, pero cuando son 9 tienes que obtener 4 digitos :)
saludos!