Lucky46 0 Geschrieben 20. Juni 2014 Melden Teilen 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 Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 20. Juni 2014 Melden Teilen Geschrieben 20. Juni 2014 Das Wildcard-Symbol bei Like ist % und nicht * Dann beachte noch, dass Like Case sensitive ist. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 20. Juni 2014 Melden Teilen 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 Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 20. Juni 2014 Melden Teilen 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 Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 20. Juni 2014 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 20. Juni 2014 Melden Teilen 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. ;) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.