Ignorar Acentos en SQL Server

04/06/2008 - 15:35 por ivan13pocaterra | Informe spam
Hola Amigos...

Tengo una base de datos SQL Server 2000 configurada con el set de
idiomas Collation "Latin1_General_C1_AS".

En una de las tablas tengo un campo de datos, en el cual se almacenan
palabras claves, para luego desde una aplicacion WEB .NET realizar
busquedas mediante esas palabras claves.

La Idea es la siguiente:

Si quiero buscar la palabra "Concentración" realizo un " Select *
From MiTabla Where PalabraClave LIKE 'Concentración%' ", fijense que
la palabra "Concentración" esta en la base de datos tal cual como esta
con acento por tanto la busqueda seria correcta y me traeria un
resultado.

Pero si el usuario busca la palabra "Concentracion" sin acento, la
busqueda no me traeria ningun resultado pues la palabra se encuentra
en base de datos con acento.

Igual es el caso contrario si la palabra esta almacenada como
"Concentracion" sin acento al realizar la busqueda de la palabra con
acento "Concentración", no me traeria ningun resultado.

Por supuesto, el usuario podria buscar con la palabra incompleta algo
asi como "Concentra" y me traeria el resultado de "Concentración" o
"Concentracion" pues se esta usando un 'LIKE %', pero eso no es la
idea, yo necesito buscar por la palabra completa.

Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
"Concentración" por ejemplo y que no importe como este almacenada en
la base de datos, siempre consiga la palabra completa?

Si pudieran darme alguna idea? se los agradeceria.

Sin mas que agregar

Saludos Cordiales

Ivan

Preguntas similare

Leer las respuestas

#1 Juan T. Llibre
04/06/2008 - 16:39 | Informe spam
re:
!> Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
!> "Concentración" por ejemplo y que no importe como este almacenada en
!> la base de datos, siempre consiga la palabra completa?

Hola, Ivan.

Tienes que cambiar el Collation de "Latin1_General_C1_AS" a "Latin1_General_C1_AI".

Ojo : eso es "a-i latina mayúscula" y no "a-ele".

AI especifica insensitividad a acentos y AS especifica sensitividad a acentos.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
= wrote in message news:
Hola Amigos...

Tengo una base de datos SQL Server 2000 configurada con el set de
idiomas Collation "Latin1_General_C1_AS".

En una de las tablas tengo un campo de datos, en el cual se almacenan
palabras claves, para luego desde una aplicacion WEB .NET realizar
busquedas mediante esas palabras claves.

La Idea es la siguiente:

Si quiero buscar la palabra "Concentración" realizo un " Select *
From MiTabla Where PalabraClave LIKE 'Concentración%' ", fijense que
la palabra "Concentración" esta en la base de datos tal cual como esta
con acento por tanto la busqueda seria correcta y me traeria un
resultado.

Pero si el usuario busca la palabra "Concentracion" sin acento, la
busqueda no me traeria ningun resultado pues la palabra se encuentra
en base de datos con acento.

Igual es el caso contrario si la palabra esta almacenada como
"Concentracion" sin acento al realizar la busqueda de la palabra con
acento "Concentración", no me traeria ningun resultado.

Por supuesto, el usuario podria buscar con la palabra incompleta algo
asi como "Concentra" y me traeria el resultado de "Concentración" o
"Concentracion" pues se esta usando un 'LIKE %', pero eso no es la
idea, yo necesito buscar por la palabra completa.

Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
"Concentración" por ejemplo y que no importe como este almacenada en
la base de datos, siempre consiga la palabra completa?

Si pudieran darme alguna idea? se los agradeceria.

Sin mas que agregar

Saludos Cordiales

Ivan
Respuesta Responder a este mensaje
#2 Juan T. Llibre
04/06/2008 - 16:39 | Informe spam
re:
!> Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
!> "Concentración" por ejemplo y que no importe como este almacenada en
!> la base de datos, siempre consiga la palabra completa?

Hola, Ivan.

Tienes que cambiar el Collation de "Latin1_General_C1_AS" a "Latin1_General_C1_AI".

Ojo : eso es "a-i latina mayúscula" y no "a-ele".

AI especifica insensitividad a acentos y AS especifica sensitividad a acentos.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
= wrote in message news:
Hola Amigos...

Tengo una base de datos SQL Server 2000 configurada con el set de
idiomas Collation "Latin1_General_C1_AS".

En una de las tablas tengo un campo de datos, en el cual se almacenan
palabras claves, para luego desde una aplicacion WEB .NET realizar
busquedas mediante esas palabras claves.

La Idea es la siguiente:

Si quiero buscar la palabra "Concentración" realizo un " Select *
From MiTabla Where PalabraClave LIKE 'Concentración%' ", fijense que
la palabra "Concentración" esta en la base de datos tal cual como esta
con acento por tanto la busqueda seria correcta y me traeria un
resultado.

Pero si el usuario busca la palabra "Concentracion" sin acento, la
busqueda no me traeria ningun resultado pues la palabra se encuentra
en base de datos con acento.

Igual es el caso contrario si la palabra esta almacenada como
"Concentracion" sin acento al realizar la busqueda de la palabra con
acento "Concentración", no me traeria ningun resultado.

Por supuesto, el usuario podria buscar con la palabra incompleta algo
asi como "Concentra" y me traeria el resultado de "Concentración" o
"Concentracion" pues se esta usando un 'LIKE %', pero eso no es la
idea, yo necesito buscar por la palabra completa.

Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
"Concentración" por ejemplo y que no importe como este almacenada en
la base de datos, siempre consiga la palabra completa?

Si pudieran darme alguna idea? se los agradeceria.

Sin mas que agregar

Saludos Cordiales

Ivan
Respuesta Responder a este mensaje
#3 Jorge
04/06/2008 - 19:47 | Informe spam
excelente respuesta cada dia se aprende mas
muchas gracias
siempre paso revisando este grupo para aprender algo nuevo.


"Juan T. Llibre" wrote in message
news:O$
re:
!> Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
!> "Concentración" por ejemplo y que no importe como este almacenada en
!> la base de datos, siempre consiga la palabra completa?

Hola, Ivan.

Tienes que cambiar el Collation de "Latin1_General_C1_AS" a
"Latin1_General_C1_AI".

Ojo : eso es "a-i latina mayúscula" y no "a-ele".

AI especifica insensitividad a acentos y AS especifica sensitividad a
acentos.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
=> wrote in message
news:
Hola Amigos...

Tengo una base de datos SQL Server 2000 configurada con el set de
idiomas Collation "Latin1_General_C1_AS".

En una de las tablas tengo un campo de datos, en el cual se almacenan
palabras claves, para luego desde una aplicacion WEB .NET realizar
busquedas mediante esas palabras claves.

La Idea es la siguiente:

Si quiero buscar la palabra "Concentración" realizo un " Select *
From MiTabla Where PalabraClave LIKE 'Concentración%' ", fijense que
la palabra "Concentración" esta en la base de datos tal cual como esta
con acento por tanto la busqueda seria correcta y me traeria un
resultado.

Pero si el usuario busca la palabra "Concentracion" sin acento, la
busqueda no me traeria ningun resultado pues la palabra se encuentra
en base de datos con acento.

Igual es el caso contrario si la palabra esta almacenada como
"Concentracion" sin acento al realizar la busqueda de la palabra con
acento "Concentración", no me traeria ningun resultado.

Por supuesto, el usuario podria buscar con la palabra incompleta algo
asi como "Concentra" y me traeria el resultado de "Concentración" o
"Concentracion" pues se esta usando un 'LIKE %', pero eso no es la
idea, yo necesito buscar por la palabra completa.

Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
"Concentración" por ejemplo y que no importe como este almacenada en
la base de datos, siempre consiga la palabra completa?

Si pudieran darme alguna idea? se los agradeceria.

Sin mas que agregar

Saludos Cordiales

Ivan



Respuesta Responder a este mensaje
#4 Jorge
04/06/2008 - 19:47 | Informe spam
excelente respuesta cada dia se aprende mas
muchas gracias
siempre paso revisando este grupo para aprender algo nuevo.


"Juan T. Llibre" wrote in message
news:O$
re:
!> Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
!> "Concentración" por ejemplo y que no importe como este almacenada en
!> la base de datos, siempre consiga la palabra completa?

Hola, Ivan.

Tienes que cambiar el Collation de "Latin1_General_C1_AS" a
"Latin1_General_C1_AI".

Ojo : eso es "a-i latina mayúscula" y no "a-ele".

AI especifica insensitividad a acentos y AS especifica sensitividad a
acentos.




Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
=> wrote in message
news:
Hola Amigos...

Tengo una base de datos SQL Server 2000 configurada con el set de
idiomas Collation "Latin1_General_C1_AS".

En una de las tablas tengo un campo de datos, en el cual se almacenan
palabras claves, para luego desde una aplicacion WEB .NET realizar
busquedas mediante esas palabras claves.

La Idea es la siguiente:

Si quiero buscar la palabra "Concentración" realizo un " Select *
From MiTabla Where PalabraClave LIKE 'Concentración%' ", fijense que
la palabra "Concentración" esta en la base de datos tal cual como esta
con acento por tanto la busqueda seria correcta y me traeria un
resultado.

Pero si el usuario busca la palabra "Concentracion" sin acento, la
busqueda no me traeria ningun resultado pues la palabra se encuentra
en base de datos con acento.

Igual es el caso contrario si la palabra esta almacenada como
"Concentracion" sin acento al realizar la busqueda de la palabra con
acento "Concentración", no me traeria ningun resultado.

Por supuesto, el usuario podria buscar con la palabra incompleta algo
asi como "Concentra" y me traeria el resultado de "Concentración" o
"Concentracion" pues se esta usando un 'LIKE %', pero eso no es la
idea, yo necesito buscar por la palabra completa.

Ahora bien, Como hago una busqueda en T-SQL para ignorar el acento de
"Concentración" por ejemplo y que no importe como este almacenada en
la base de datos, siempre consiga la palabra completa?

Si pudieran darme alguna idea? se los agradeceria.

Sin mas que agregar

Saludos Cordiales

Ivan



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida