Ver Mensaje Individual
  #2  
Antiguo 20-04-2005
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Reputación: 20
droguerman Va por buen camino
no es la forma más eficiente pero intenta esto:

creas una funcion
Código:
 CREATE FUNCTION dbo.fun_Numero (@codigo varchar(5))
  RETURNS int AS  
  BEGIN 
  DECLARE @nro int;
  	IF @codigo LIKE '%[A-Z]'
  		SET @codigo = CAST( LEFT(@codigo, LEN(@codigo)-1) AS INT)
  RETURN (CAST(@codigo as int))
  END
luego creas la tabla con un campo calculado
Código:
 create table nuevaTabla
 (
 codigo varchar(4),
 	nro AS dbo.fun_Numero(codigo)
 )
al hacer select * from nuevaTabla ORDER BY nro; deberías ver el resultado

otra forma que me parece más eficiente y si usas SQL Server 2000 pero que no la he probado sería cambiando la intercalación de la tabla usando COLLATE
Responder Con Cita