Abfrage:Regulärer Ausdruck in Google großer Abfrage
SELECT DebugData
CASE
WHEN lower(DebugData) LIKE 'veri%' THEN 'Verizon'
WHEN REGEXP_MATCH(LOWER(DebugData),r'^\d+$') THEN c.Network
ELSE REGEXP_REPLACE(lower(DebugData),r'[^a-zA-Z]', ' ')
END
AS ActualCarrier
From table
Daten:
DebugData Correct_result Current_result
310410? c.Network
302220? c.Network
Comcel2 Comcel
Gig? Gig
Derzeit ist die Abfrage nicht für die ersten 2 Fälle funktioniert. Ich bin sicher, dass nichts mit c.Network zu tun hat, denn ich habe auch die unten stehende Aussage ausprobiert und es funktioniert nicht.
WHEN REGEXP_MATCH(LOWER(DebugData),r'^\d+$') THEN 'hi'
Jede Hilfe wäre willkommen.
in Ihrer vorherigen Frage haben Sie sehr spezifische Anforderung - 'Wenn DebugData nur Ziffern enthält, dann sollte es das c.Network aber für eine Kombination von dig nehmen Seine und Alphabete, sollte es die anderen Zeichen ersetzen und drucken nur Alphabete "- so die Abfrage genau dies. Wenn dies nicht das ist, was Sie meinten - formulieren Sie bitte Ihre "Anforderungen" neu. –