martes, 16 de diciembre de 2014

Problemas en SQL Server con el caracter ª

Por si se les presenta en alguna ocasión este problema, aquí les dejo la solución.

Resulta que estaba intentando hacer la siguiente consulta en SQL Server 2012, en una Base de Datos con Intercalación "Modern_Spanish_CI_AI".

SELECT * FROM tabla WHERE name like '%'ª'%'

He incluso probé con el código ASCII de  ª que es el 170

SELECT * FROM tabla WHERE name like '%'+char(170)+'%'

Pero al ejecutar la consulta me devolvía nombres con "a", la solución para casos como estos es, colocarle COLLATE Latin1_General_CI_AS


SELECT * FROM tabla WHERE name like '%'ª'%'  COLLATE Latin1_General_CI_AS

Y así muestra los resultados esperados, ver además:

Códigos ASCIIhttp://ascii.cl/es/codigos-html.htm

Consulta SQL que devuelve el símbolo y su código ASCII:

DECLARE @nstring nchar(8);
SET @nstring = '-ª';
SELECT UNICODE(SUBSTRING(@nstring, 2, 1)) as codigoASCII_Dec, 
   NCHAR(UNICODE(SUBSTRING(@nstring, 2, 1))) as simbolo;
GO

No hay comentarios:

Publicar un comentario