Salute Ekki!
Ich bitte dich, in Zukunft deine Antworten weniger belehrend und etwas mehr auf den Punkt zu bringen. Es wird die Nerven der Fragestellenden schonen - und genauso auch deine (du hast bestimmt auch schon gehässige Antworten gekriegt?). Es ist mir klar, dass du den Background eines Fragestellenden nicht kennen kannst - aber man kann sich bei bestimmten Typen von Antworten schon etwas verarscht vorkommen...:
Ich hatte zuerst gedacht, dass es mir einen automatischen Typecast auf INT ausführt und dann diesen auch noch mit CAST((Titel LIKE '%Suchbegriff1%') AS INT) explizit eingeführt - ohne Ergebnis.
Und wieso bist Du der Meinung, dass der arithmetische Operator zur Addition ein solches Verhalten zeigen sollte?
Was denkst du, wenn du einen Link geschickt bekommst mit nem Anker auf eine Zeile, die dir erklärt, dass man in MySql für die Addition ein "+" zwischen zwei Werte schreibt und dass 3+5=8 ist?...
Vielleicht liegt das daran, dass der "+"-Operator einfach nur falsch angewendet wurde? Überlege Dir genau, was ein Vergleich wie
(Titel LIKE '%Suchbegriff1%')
zurückgibt. Und dann überlege Dir, was Du mit dieser Information anfangen kannst.
Wenn du meine Antwort wirklich gelesen hättest, dann hättest du bemerkt, dass ich die Möglichkeit des falschen Typs bereits in Betracht gezogen habe, mir also klar ist, dass es sich bei der Rückgabe um zwei Booleans handelt und ich diese eigentlich nicht addieren kann. Der Gedanke, dass beim Versuch zwei Booleans zu addieren, diese automatisch in Integer getypecastet werden ist nicht abwegig, dafür gibt es x Beispiele an anderen Orten. Ich bin MySql-Neuling und ja-ich habe noch nicht die ganze Dokumentation durchgelesen. Du als MySql-Kenner hättest dann auch gleich den logischen Schluss gemacht, dass wohl was bei meinem Typecast schief gelaufen sein muss. Und da ich diesen ja sogar explizit notiert habe, hättest du auch gleich gesehn, dass der natürlich nicht funktionieren kann, weils den Typ "INT" nicht gibt. Was wär ne coole Antwort gewesen?
-> "Ne, der Typecast läuft nicht automatisch.
Und
-> Den Typ "INT" gibts nicht in MySQL, entweder nimmst du "SIGNED" oder "UNSIGNED"
Und Basta. Problem gelöst.
Ich hab jetzt selbst aus dem groben Kontext deiner Antwort darauf zurückgeschlossen, dass die Berechnung im ORDER BY eigentlich möglich sein müsste und ich entsprechend beim Typecast nen Fehler gemacht haben muss, den ich dann mit etwas Recherche auch gefunden habe.
Ich meine, den Willen dass man helfen will in Ehren, aber wer helfen will, der sollte sich auch Gedanken darüber machen wie man hilft.
Das ist wie mit dem Erstellen einer Website. Der Wille in allen Ehren - aber das Wie sollte immer auch diskutiert werden. Auch ein Grund, warum ich dieses Forum ansonsten sehr schätze.
Gruss und gerne wieder einmal
stewe