Hi,
Ich habe eine Liste mit E-Mail Adressen, bei denen "ungültige" vorkommen. Lt. RFC sind diese zwar gültig, aber unser System hat in bestimmten Fällen die E-Mails mit einem Hash versehen, um sie bspw. für Dubletten zu "bereinigen".
Eine Beispiel E-Mail sieht so aus: 0e7628e64e144110a13196d9fa546d72_han...@exampl e.com
Nun will ich gerne alle E-Mails haben, die nicht dem Muster entsprechen.
Meine aktuelle Version ist recht lang, sollte für mein Verständnis aber funktionieren:
[0-9a-z] kommt also 32x hintereinander, weil T-SQL für LIKE meines Wissen nach kein [0-9a-z]{32} kennt.
Wie gesagt, dachte ich, dass die Variante funktionieren würde, aber die Mails tauchen weiterhin in der Liste auf?!
Gibt es eine andere Möglichkeit mit T-SQL? Im nächsten Step würde ich sonst ein kleines Script schreiben, das über RegEx die entsprechenden Mails rausfiltert, aber das fände ich ehrlich gesagt unnötig.
Danke
Ich habe eine Liste mit E-Mail Adressen, bei denen "ungültige" vorkommen. Lt. RFC sind diese zwar gültig, aber unser System hat in bestimmten Fällen die E-Mails mit einem Hash versehen, um sie bspw. für Dubletten zu "bereinigen".
Eine Beispiel E-Mail sieht so aus: 0e7628e64e144110a13196d9fa546d72_han...@exampl e.com
Nun will ich gerne alle E-Mails haben, die nicht dem Muster entsprechen.
Meine aktuelle Version ist recht lang, sollte für mein Verständnis aber funktionieren:
Code:
... WHERE Email NOT LIKE '[0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][_]%@%'
Wie gesagt, dachte ich, dass die Variante funktionieren würde, aber die Mails tauchen weiterhin in der Liste auf?!
Gibt es eine andere Möglichkeit mit T-SQL? Im nächsten Step würde ich sonst ein kleines Script schreiben, das über RegEx die entsprechenden Mails rausfiltert, aber das fände ich ehrlich gesagt unnötig.
Danke
Comment