Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

consulta con replace

Estas en el tema de consulta con replace en el foro de SQL Server en Foros del Web. Hola a todos!!!! yo estoy realizando la siguiente consulta: SELECT dbo.Usuarios.Documento AS Identificacion, dbo.Usuarios.TipoDocumento AS [Tipo de documento], REPLACE(dbo.Usuarios.Nombre, 'ñ', 'n') + ', ' + ...
  #1 (permalink)  
Antiguo 07/11/2007, 13:37
Avatar de kejos  
Fecha de Ingreso: septiembre-2005
Mensajes: 100
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta consulta con replace

Hola a todos!!!!

yo estoy realizando la siguiente consulta:
SELECT dbo.Usuarios.Documento AS Identificacion, dbo.Usuarios.TipoDocumento AS [Tipo de documento], REPLACE(dbo.Usuarios.Nombre, 'ñ', 'n')
+ ', ' + REPLACE(dbo.Usuarios.Apellidos, 'í', 'i') AS [Nombre Usuario], REPLACE(dbo.TiposUsuarios.TipoUsuario, 'ñ', 'n') AS [Tipo Vinculo],
REPLACE(dbo.Carreras.Carrera, 'ñ', 'n') AS Expr1, REPLACE(dbo.Usuarios.Email, 'ñ', 'n') AS Expr2
FROM dbo.Usuarios INNER JOIN
dbo.TiposUsuarios ON dbo.Usuarios.IDTipoUsuario = dbo.TiposUsuarios.IDTipoUsuario INNER JOIN
dbo.UsuariosCarreras ON dbo.Usuarios.IDUsuario = dbo.UsuariosCarreras.IDUsuario INNER JOIN
dbo.Carreras ON dbo.UsuariosCarreras.IDCarrera = dbo.Carreras.IDCarrera
WHERE (dbo.Usuarios.TipoDocumento = @TipoDoc) AND (dbo.Usuarios.Documento = @Doc)

cómo ven estoy haciendo un replace en campos que necesito cambiar la ñ por n pero fuera de es replace yo también necesito hacerle un replace para todas las vocales con tilde, cómo puedo hacer esto dentro de la misma consulta???

De antemano muchas gracias por sus respuestas
__________________
Kelly Johana:si:
  #2 (permalink)  
Antiguo 07/11/2007, 14:14
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años
Puntos: 38
Re: consulta con replace

puedes hacer una funcion de usuario que te reemplace todos los caracteres que no requieres....


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 09/11/2007, 11:12
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 20 años, 1 mes
Puntos: 9
Re: consulta con replace

Yo tengo esto en sintaxis de Oracle:

Código:
 Function QuitaCaracterKK(cadena varchar2) return varchar2 is
    retcad varchar2(2000);
  Begin
     --retcad := REPLACE(cadena, ' ', '');
    retcad := REPLACE(cadena, 'á', 'a');
    retcad := REPLACE(retcad, 'é', 'e');
    retcad := REPLACE(retcad, 'í', 'i');
    retcad := REPLACE(retcad, 'ó', 'o');
    retcad := REPLACE(retcad, 'ú', 'u');
    retcad := REPLACE(retcad, 'Á', 'A');
    retcad := REPLACE(retcad, 'É', 'E');
    retcad := REPLACE(retcad, 'Í', 'I');
    retcad := REPLACE(retcad, 'Ó', 'O');
    retcad := REPLACE(retcad, 'Ú', 'U');
    retcad := REPLACE(retcad, 'Ñ', 'N');
    retcad := REPLACE(retcad, 'ñ', 'n');
  
    --  Otra forma de hacer lo mismo 
-- REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
    --  REPLACE(REPLACE(REPLACE(REPLACE(cadena, 'á', 'a'), 'é', 'e'), 'í', 'i'), 'ó', 'o'), 'ú', 'u'), 'Á', 'A'), 'É', 'E'), 'Í', 'I'), 'Ó', 'O'), 'Ú', 'U'), 'Ñ', 'N'), 'ñ', 'n')
    return retcad;
  End;
Creo que te sera facil traducir a SQL Server. En Oracle existe una función "Translate" que hace todo esto de forma más eficiente, no se si existe algo parecido en SQL Server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:49.