Necesito limpiar los números de teléfono almacenados como varchar. Hay datos incorrectos en los que los números de teléfono desconocidos se almacenan como una secuencia de un solo dígito. Eventualmente más complejo (código de área & prefijo que empareja) será hecho pero quiero una consulta simple a obviamente malos registros.Pregunta de T-SQL para identificar los campos varchar que constan de un único carácter/dígito de repetición?
Así, por ejemplo:
Válido Número de teléfono: 3289903829
no válida Número de teléfono: 1111111111
Ahora bien, si el ID de producto falso son la longitud adecuada (10 dígitos) es fácil de analizar y limpiar.
SELECT phone
FROM customers
SET phone = NULL
WHERE phone IN ('0000000000','9999999999',''8888888888','7777777777','6666666666','5555555555','4444444444','3333333333','2222222222','1111111111')
Sin embargo a veces los teléfonos falsos son de longitud arbitraria (probablemente debido a errores tipográficos) SO 11 queridos o 9 queridos, o n queridos.
¿Cómo puedo ID cadenas que consta de todos los mismos caracteres/dígitos?
1111111 - match
4444 - match
1112 - no match
4445555 - no match
También puede usar 'left (phone, 1)' en vez de 'substring (phone, 1,1)'. –
@Mark, gracias se actualizará según su comentario –
@adrift queda (teléfono, 1) más rápido que la subcadena (teléfono, 1,1)? Sólo curioso. –