stewe: mysql befehl gesucht

Beitrag lesen

Salut!

Dann denke ich, dass dieser Operator für die Addition von numerischen Werten geeignet ist. Ich denke dann insbesondere *nicht*, dass er sich zur Addition von Boole'schen Werten eignet.

Ne, da fühlt man sich verarscht. Solche Dinge verstehen sich von selbst.

Aha. Und wieso versuchst Du es trotzdem? Was erwartest Du denn bei der Addition von - sagen wir mal - TRUE und FALSE? Was genau soll da bitte Sinnvolles herauskommen?

true und false werden weit herum auch als "gesetzt" und "nicht gesetzt", "High" und "low", sowie auch "1" und "0" bezeichnet (je nach Definition - ich komm aus der Elektrotechnik). Automatische Typecasts funktionieren üblicherweise so, dass ein für die gewünschte Operation geeigneter Datentyp gewählt wird. im Falle einer mathematischen Operation mit Booleans ist dabei die Verwendung von "0" und "1" die ziemlich einzig logische und damit ziemlich eindeutige Variante. true+false wäre dann also gleich 1+0=1.
Warum stellst du mir diese Frage - Ich denke du konntest meine Antwort absehn.

Dann nenne mir mindestens eins davon

PHP pflegt einen sehr offenen Umgang mit Datentypen. Daher wohl auch mein Gedanke - Ich nutze MySql zusammen mit PHP.

  • und ich erkläre Dir gerne anschließend, warum die entsprechende Sprache Müll ist. Automatische Typumwandlung ist IMHO generell Müll ... ich habe mit den sich daraus ergebenden Problemen tagtäglich zu kämpfen.

Kann ich nicht nachvollziehn - gerne höre ich dazu deine Erläuterung. Mein Standpunkt wäre: Gibts keine automatische Typecasts, muss ich diese explizit angeben. Gibts automatische Typecasts und ich habe trotzdem meine eigenen expliziten Typecasts wie ich sie will angegeben, dann kratzen mich die automatischen nicht weiter. Wenn ich aber weis, wo automatische Typecasts möglich sind und wie sie ablaufen, hab ich weniger (wenn auch nur geringfügig) Programmieraufwand.

Das hat weniger mit dem Typecast an sich zu tun, sondern eher mit Deiner Erwartung, dass ein solcher automagisch stattfindet.

War das "automaGisch" beabsichtigt? :) haha

Die Erwartung war eine Fehlschuss, hab ich ja akzeptiert und stört mich nicht weiter. Eigentlich finde auch ich es angenehmer, wenn ich explizit mit bestimmten Datentypen und Typecasts schaffen muss - Das sorgt für Klarheit, die bspw. bei PHP in dieser Hinsicht etwas abgeht.

Ich werd den Eindruck nicht los, dass du dich ständig auf mein erstes Posting beziehst, wo ich (da ich mir über den Ursprung des Fehlers unklar war, weils bei mir sowohl ohne wie auch mit - aber eben falschem - Typecast nicht funktioniert hatte) den Typecast weggelassen habe im MySql Query.

Daher solltest Du eher Dein generelles Vorgehen überdenken und Deine Abfrage neu aufbauen und dabei darauf achten, dass die Datentypen sauber verwendet werden.

Mit dem richtigen Typecast funktionierts jetzt - oder sprichst du noch weitere Probleme im Zusammenhang mit diesem Aufbau an, die sich nicht in Fehlern manifestieren? Performance? NULL-Cases greife ich mit IFNULL ab und das fertige Statement wird mit weiteren Bedingungen ziemlich komplex und lang.

Wieso sollte ich das behaupten, wenn es doch nicht stimmt?

Die Aussage bezieht sich natürlich auf die Funktion CAST, ich habe mich unpräzise ausgedrückt. Daher rührt ja auch mein ursprünglicher Fehler beim Typecast - Ich habe mir die Definition der Funktion nicht genügend genau angeschaut, sondern nur das "as type" gesehn und dann entsprechend "INT" eingesetzt.

Gruss

stewe