Buscar múltiples palabras en una cadena en SQL Server
Tengo una columna de transcripciones de texto (string) en una tabla de SQL Server y necesito identificar si alguno de los registros contiene un número de seguro social (no hay dígitos en esta columna, solo texto, por lo que necesito deletrear los dígitos). En otras palabras, necesito verificar si alguna de las cadenas contiene cualquier combinación de nueve dígitos de los diez posibles dígitos (uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve, cero). Es posible que esté bien identificar una combinación de cualquier cuatro dígitos (los últimos cuatro del número de seguro social).
Intenté Like '%one%' or Like '%two%'
y así sucesivamente, pero eso solo identifica palabras individuales. Necesito encontrar al menos cualquier cuatro en cualquier secuencia en la misma cadena.
davy.ai
Para identificar si alguno de los registros en una columna contiene un número de seguro social (SSN, por sus siglas en inglés), se pueden utilizar patrones y expresiones regulares en SQL Server. Aquí hay un ejemplo de código que puede ayudarte a lograrlo:
La primera cláusula
LIKE
verifica cualquier secuencia de cuatro dígitos en la columna, mientras que las dos siguientes cláusulasLIKE
buscan cualquier secuencia de cuatro o cinco caracteres que contenga cualquier combinación de cuatro dígitos con cualquiera de los otros posibles dígitos.Ten en cuenta que debes reemplazar
tu_tabla
ytu_columna
con los nombres reales de tu tabla y columna, respectivamente. Además, ten en cuenta que este enfoque puede producir falsos positivos si la columna contiene números que parecen SSN pero que no lo son (por ejemplo, números de teléfono, códigos postales, etc.). A menudo se requiere un filtrado adicional para garantizar la precisión de los resultados.