Hallo ich versuche in einem sql string eine Funktion auszuführen, geht natürlich nicht. wie könnte man es alternativ lösen?

...komplette Frage anzeigen

2 Antworten

Finde für dein SQL-Derivat einen Operator zum Verketten von Zeichen, z. B. ||, dann kannst du das so lösen:

...where attribut2 like '%' || lower(left(attribut1,4)) || '%'

Vielleicht gibt es auch ein Schlüsselwort wie contains o. ä. im Funktionsvorrat deiner SQL.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Paazak
07.02.2017, 10:37

vielen vielen dank für deine hilfe ♥

1

Das, was Du beim like angegeben hast, ist Text. Alles was in Hochkomma eingeschlossen ist ist Text. Wenn da 'Blabla' drinsteht, sucht die Datenbank nach einem Feld, wo 'Blabla' drin steht. Wenn da '%lower(left(attribut1,4))%' drinsteht, sucht sie nach einem Text, wo irgendwo auch in der Mitte 'lower(left(attribut1,4))'  vorkommt. Wenn Du eine SQL-Anweisung in Hochkomma einschließt, ist es keine SQL-Anweisung mehr, nur noch Text. Nur die %-Zeichen werden als Begrenzer interpretiert (und das nur beim like). Auf jeden Fall gehören die Hochkommata weg. Ob es dann funktioniert, kann ich so nicht sagen. Aber die Datenbank würde es dann als Anweisung entgegennehmen und im Falle eines Fehlers eine Meldung ausgeben.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?