CREATE TABLE dbo.Numeros(
Id INT PRIMARY KEY IDENTITY(1, 1),
NumeroParaOrdenar INT NOT NULL
)
GO
INSERT INTO dbo.Numeros(NumeroParaOrdenar)
VALUES (14), (14112), (141), (142),( 143), (14113), (14112)
GO
SELECT * FROM dbo.Numeros
ORDER BY NumeroParaOrdenar
GO
SELECT *,
NumeroFormateado2 = LEFT(CONVERT(VARCHAR(10), NumeroParaOrdenar) + REPLICATE('0', 10), 10)
FROM dbo.Numeros
ORDER BY LEFT(CONVERT(VARCHAR(10), NumeroParaOrdenar) + REPLICATE('0', 10), 10)
GO