Ich muss als varchar gespeicherte Telefonnummern bereinigen. Es gibt fehlerhafte Daten, bei denen unbekannte Telefonnummern als Folge einer einzelnen Ziffer gespeichert sind. Schließlich werden komplexere (Vorwahl & Präfix Matching) getan werden, aber ich will eine einfache Abfrage zu offensichtlich schlechte Datensätze.
So zum Beispiel:
Gültige Telefonnummer: 3289903829
Ungültige Rufnummer: 1111111111
Wenn die gefälschte Produkt-ID die richtige Länge hat (10 Ziffern), ist sie leicht zu analysieren und zu bereinigen.
SELECT phone
FROM customers
SET phone = NULL
WHERE phone IN ('0000000000','9999999999',''8888888888','7777777777','6666666666','5555555555','4444444444','3333333333','2222222222','1111111111')
Manchmal sind die gefälschten Telefone jedoch von beliebiger Länge (wahrscheinlich aufgrund von Tippfehlern), also 11 Einsen oder 9 Einsen, oder n Einsen.
Wie kann ich Zeichenketten identifizieren, die alle aus denselben Zeichen/Ziffern bestehen?
1111111 - match
4444 - match
1112 - no match
4445555 - no match