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

Hacer una SQL con un carácter ASCII extraño

Estas en el tema de Hacer una SQL con un carácter ASCII extraño en el foro de SQL Server en Foros del Web. Hola, estoy intentando obtener de mi base de datos la siguiente consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT     id_usuario , nombre , ...
  #1 (permalink)  
Antiguo 29/12/2014, 03:22
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Hacer una SQL con un carácter ASCII extraño

Hola, estoy intentando obtener de mi base de datos la siguiente consulta:

Código SQL:
Ver original
  1. SELECT     id_usuario, nombre, apellido1, apellido2
  2. FROM        usuarios
  3. WHERE     (nombre LIKE '%Ã%') OR
  4.                      (apellido1 LIKE '%Ã%') OR
  5.                      (apellido2 LIKE '%Ã%')
Al ejecutarla me saca todos los registros que tienen la letra a, pero eso no es lo que yo quiero, necesito que me saque SOLO los que tengan almacenados ese caracter extraño de Ã.

He probado de diversas maneras (incluso poniendo directamente el código ASCII de ese carácter) y nada. También he buscado por Internet pero no encuentro nada.

¿Alguna idea de cómo sería la SQL para que devuelva exactamente SOLO aquellos registros con este carácter?

Gracias

Última edición por gnzsoloyo; 30/12/2014 a las 08:43
  #2 (permalink)  
Antiguo 29/12/2014, 08:58
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Hacer una SQL con un carácter ASCII extraño

en que collation esta ese caracter?? que collation tiene tu server???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 29/12/2014, 09:07
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: Hacer una SQL con un carácter ASCII extraño

En ISO-8859-1
  #4 (permalink)  
Antiguo 29/12/2014, 09:11
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Hacer una SQL con un carácter ASCII extraño

ese no es el collation de sql server.....yo esperaba algo como esto:

SQL_Latin1_General_Cp437_CS_AS_KI_WI

lo que necesitas es que el collation de tu sql server sea accent-sensitive

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. dato VARCHAR(20)
  4. )
  5.  
  6. INSERT INTO #temp VALUES ('Ã')
  7. INSERT INTO #temp VALUES ('mi Ãamigo')
  8. INSERT INTO #temp VALUES ('mi amigo')
  9.  
  10. SELECT * FROM #temp WHERE dato LIKE '%Ã%'

este query me regresa 2 datos, el collation de mi sql server es SQL_Latin1_General_CP1_CI_AS
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 29/12/2014 a las 09:22
  #5 (permalink)  
Antiguo 29/12/2014, 10:19
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: Hacer una SQL con un carácter ASCII extraño

Al ejecutar esa SQL me devuelve también solo dos datos, solo las dos primeras:

Ã
mi Ãamigo

¿Es correcto esto, no? El único dato más o menos parecido que tengo en el gestor de SQL Server es Intercalación que pone:

Modern_Spanish_CI_AS
  #6 (permalink)  
Antiguo 29/12/2014, 10:50
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Hacer una SQL con un carácter ASCII extraño

si te regresa los 2 datos entonces estas haciendo algo mal en tu consulta, prueba a nada mas hacer un select con un like y despues pruebas los OR
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 30/12/2014, 02:04
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: Hacer una SQL con un carácter ASCII extraño

Nada, en la consulta me sigue devolviendo todos los registros que contengan una A.

¿Existe alguna manera en SQL Server de preguntar por el código ASCII de ese carácter en concreto? Algo así como:

select nombre from usuarios where nombre like '%char(195)%'
  #8 (permalink)  
Antiguo 30/12/2014, 08:40
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Hacer una SQL con un carácter ASCII extraño

que consulta estas ejecutando??? nada mas usaste un like???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 30/12/2014, 08:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Hacer una SQL con un carácter ASCII extraño

Repasemos un poco el tema, estimado @schattemburg: Selecting a SQL Server Collation

Mi duda, @Libras: ¿No debería usarse algo como SQL_Latin1_General_Cp437_BIN para este caso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 30/12/2014, 09:30
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Hacer una SQL con un carácter ASCII extraño

La verdad yo lo probe nada mas con un

SQL_Latin1_General_CP1_CI_AS y si me regresa el resultado deseado, a lo que investigue el caracter especial que esta buscando schattenburg se considera como un caracter acentuado...
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #11 (permalink)  
Antiguo 02/01/2015, 02:48
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: Hacer una SQL con un carácter ASCII extraño

La consulta que estoy haciendo es:

Código SQL:
Ver original
  1. SELECT     nombre
  2. FROM        usuarios
  3. WHERE     (nombre LIKE '%Ã%')

Y me devuelve TODOS los nombres que contenga una a, y yo quiero que me devuelva SOLO aquellos que contengan ese caracter extraño de Ã

Última edición por gnzsoloyo; 02/01/2015 a las 05:26

Etiquetas: ascii, extraño, registros, select, siguiente, sql
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 19:45.