Lucky46 0 Geschrieben 20. Juni 2014 Melden Geschrieben 20. Juni 2014 Hallo zusammen, ich habe ein Problem mit einer SQL-Abfrage. Ich würde gerne durch SQL-Abfrage überprüfen, ob in der E-Mail Adresse der Name oder Vorname vorhanden ist. Hier die Abfrage: SELECT EMAIL, NAME, VORNAME FROM Daten WHERE EMAIL LIKE '*VORNAME*' OR EMAIL LIKE '*NAME*'; Da es mit LIKE-Funktion nicht klappt, würde ich gerne wissen mit welcher Funktion ich zwei Spalten in einer Datenbank vergleichen kann oder wie ich die von mir erstellte Abfrage erweitern bzw. verbessern kann?? Ich würde mich auf ein Feedback freuen!! Danke an alle Helfenden
zahni 587 Geschrieben 20. Juni 2014 Melden Geschrieben 20. Juni 2014 Das Wildcard-Symbol bei Like ist % und nicht * Dann beachte noch, dass Like Case sensitive ist.
Sunny61 833 Geschrieben 20. Juni 2014 Melden Geschrieben 20. Juni 2014 (bearbeitet) Das Wildcard-Symbol bei Like ist % und nicht * In Access ist das Sternchen das Wildcard Symbol für alle Zeichen. Falls nur ein Zeichen ersetzt werden soll, ist das Fragezeichen das Wildcard Symbol dafür. Sieht also so aus als ob der TO aus Access kommt. ;) Dann beachte noch, dass Like Case sensitive ist. Beim MSSQL Server ist Like nicht case sensitiv, oder was genau meinst Du damit? bearbeitet 20. Juni 2014 von Sunny61
NilsK 3.046 Geschrieben 20. Juni 2014 Melden Geschrieben 20. Juni 2014 Moin, mit LIKE funktioniert die Abfrage aber nicht. Das Kommando, das der TO angegeben hat, würde nach den Zeichenketten "VORNAME" bzw. "NAME" innerhalb der E-Mail-Adresse suchen und nicht nach den Inhalten der so benannten Felder. Hier wäre mit Zeichenkettenfunktionen zu arbeiten. Mangels Zeit und SQL Server kann ich das aber grade nicht austüfteln. Gruß, Nils
zahni 587 Geschrieben 20. Juni 2014 Melden Geschrieben 20. Juni 2014 Beim MSSQL Server ist Like nicht case sensitiv, oder was genau meinst Du damit? Es gibt auch andere SQL-Server. Daher sollte man sich an gewisse Standards halten. Mitunter hängt das auch mit Spaltendefinitionen und Indizes zusammen. Da ist im starken Maße datenbankspezifisch. Auf die Schnelle finde ich nur einen älteren Artikel: http://www.zinox.com/archives/107 PS Like '%XXXXX%' ist "Residual", d.h. es verursacht immer einen Table Scan.
Sunny61 833 Geschrieben 20. Juni 2014 Melden Geschrieben 20. Juni 2014 Es gibt auch andere SQL-Server. Daher sollte man sich an gewisse Standards halten. Da es hier in diesem Subforum um MS SQL Server geht und er TO nichts anderes dazu geschrieben hat, gehe ich von MS SQL Server aus. ;)
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden