veja se pose ser assim
Create Table #Exemplo (campo varchar(10))
Insert into #Exemplo (campo) Values ('1')
Insert into #Exemplo (campo) Values ('10')
Insert into #Exemplo (campo) Values ('11')
Insert into #Exemplo (campo) Values ('Lua')
Insert into #Exemplo (campo) Values ('Sol')
Select * From #Exemplo Order By case When isnumeric(campo) = 1 then convert(int,campo) Else 999999999 End ,
campo
Abs;