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

"Transalate" de Oracle en SQL Server

Estas en el tema de "Transalate" de Oracle en SQL Server en el foro de SQL Server en Foros del Web. Hoal a todos! ¿Sabeis si hay alguna función de SQL Server que realice la misma tarea que el translate de de Oracle? He visto que ...
  #1 (permalink)  
Antiguo 10/04/2007, 08:57
 
Fecha de Ingreso: agosto-2005
Mensajes: 142
Antigüedad: 18 años, 8 meses
Puntos: 0
"Transalate" de Oracle en SQL Server

Hoal a todos!

¿Sabeis si hay alguna función de SQL Server que realice la misma tarea que el translate de de Oracle?

He visto que existe el replace pero es algo diferente y como la necesito para substituir vocales con acento por vocales sin acento, lo que en oracle es una linea con el replace seria ir anidando los replace y no se si esto es muy optimo.

HAsta pronto y gracias por todo.
  #2 (permalink)  
Antiguo 10/04/2007, 09:37
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 6 meses
Puntos: 8
Re: "Transalate" de Oracle en SQL Server

Que tal OrionKing.

No se bien que hace la función de translate, pero si quieres cambiar vocales con acento a vocales sin acento, puede hacer una funcion que te haga eso, la función recibe como parametro una cadena, dentro de la cadena la recorres y vas cambiando los caracteres que desees.

También hay una sentencia que cambia el conjunto de caracteres (COLLATE)que tiene definido tu campo, por otro que tu desees, solo que además de cambiarte los acentos también puede cambiarte las dierisis, por ejemplo, y otros caracteres.

Te dejo un ejemplo:

Código:
select  'Test: á é í ó ú -- ä ë ü  -- à ò ù --  '  COLLATE SQL_Latin1_General_CP1253_CI_AI as Test


Test                                    
--------------------------------------- 
Test: a e i o u -- a e u  -- a o u --  

(1 filas afectadas)
Para obtener una lista de los conjuntos de caracteres (también llamados Intercalación), puedes usar la siguiente sentencia:
Código:
SELECT *
FROM ::fn_helpcollations()

name                                                                                                                             description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
-------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------
Albanian_BIN                                                                                                                     Albanian, binary sort
Albanian_CI_AI                                                                                                                   Albanian, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive
Albanian_CI_AI_WS                                                                                                                Albanian, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive
Albanian_CI_AI_KS                                                                                                                Albanian, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive
Albanian_CI_AI_KS_WS                                                                                                             Albanian, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive
Albanian_CI_AS                                                                                                                   Albanian, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive
....
....
....
Espero te sea de utilidad.

Saludos y suerte!!
  #3 (permalink)  
Antiguo 10/04/2007, 10:00
 
Fecha de Ingreso: agosto-2005
Mensajes: 142
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: "Transalate" de Oracle en SQL Server

Muchas gracias!! :D

Una pregunta, ¿En oracle tambien funcionaria? lo digo por unificar soluciones :D

Muchas gracias por la ayuda. :D
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 03:41.