Seleccionar filas que contengan caracteres ingleses y no ingleses
Frecuentes
Visto 4,750 equipos
2
Ok, tengo una columna en una tabla en SQL Server. Cada registro tiene una cadena (es decir, nombres) ALGUNAS de las cadenas tienen caracteres ingleses Y NO INGLESES.
Tengo que seleccionar SOLO los registros que tienen caracteres ingleses Y NO ingleses.
¿Cómo hago para hacer eso?
mi intento...
Select * from Table
Where Nameofthecolumn NOT LIKE '%[A-Z]%'
Go
Esto me dará una mesa VACÍA.
Sé con certeza que hay al menos dos registros que tienen caracteres ingleses y no ingleses.
Necesito esos dos registros como salida.
Estaba tratando de hacer
Select * from Table
Where Nameofthecolumn NOT LIKE '%[A-Z,a-z]%' AND Like '%[A-Z,a-z]%'
Go
pero resulta que puedes usar boolean con Like/Not Like.
Por favor guíame en la dirección correcta.
Muchas Gracias
2 Respuestas
1
¿Qué tal si inviertes tu búsqueda, por ejemplo, encuentra algo que no coincida con AZ?
... WHERE col LIKE '%[^A-Z]%' AND col LIKE '%[A-Z]%';
Si la intercalación no distingue entre mayúsculas y minúsculas, no debería necesitar az, si distingue entre mayúsculas y minúsculas, puede agregar el INTERCALAR cláusula. Pero es posible que desee filtrar espacios, números y otros elementos no alfanuméricos que se esperan.
contestado el 03 de mayo de 12 a las 17:05
0
¿Te refieres a algo como esto?
select 1 as field1,'1' as field2 into #data
union all select 1,'abc'
union all select 2,'abc'
union all select 3,'999'
SELECT * FROM
(
select field1,field2
,MAX(CASE WHEN field2 NOT LIKE '%[A-Z,a-z]%' THEN 1 ELSE 0 END) OVER (PARTITION BY field1)
+ MAX(CASE WHEN field2 LIKE '%[A-Z,a-z]%' THEN 1 ELSE 0 END) OVER (PARTITION BY field1) as chars
FROM #data
) alias
WHERE chars =2
contestado el 03 de mayo de 12 a las 17:05
Gracias por la respuesta, pero no hemos aprendido la unión, entonces, si no, etc., por lo que debería haber otra forma. Si nada funciona, puedo intentarlo. - John Smith
Como dijo Aaron, ¿puede proporcionar algunos datos de muestra y qué consultas serían aceptables? También supongo que esto es tarea. - dibstar
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas sql sql-server database sql-server-2008 or haz tu propia pregunta.
@JohnSmith todos están adivinando. ¿Puede proporcionar algunos datos de muestra que muestren las filas que desea incluir y las filas que desea excluir? - Aarón Bertrand