Nur eine Frage zu "LIKE"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Nur eine Frage zu "LIKE"

    Hallo!

    Dies ist nur eine kurze Frage zu dem Ausdruck LIKE.
    Einige hier im Forum bekommen eine Krise, wenn man Abfragen mit "WHERE id LIKE 1" oder sowas macht. Warum?
    Liebe Grüße,
    SteKoe!

    PHP Tutorials
    Peter Kropff | Quakenet | Schattenbaum.net

  • #2
    Re: Nur eine Frage zu "LIKE"

    Original geschrieben von stekoe2000
    Dies ist nur eine kurze Frage zu dem Ausdruck LIKE.
    Einige hier im Forum bekommen eine Krise, wenn man Abfragen mit "WHERE id LIKE 1" oder sowas macht. Warum?
    weil LIKE eine Funktion zum Vergleichen von Strings ist?
    If a string function is given a binary string as an argument, the resulting string is also a binary string. A number converted to a string is treated as a binary string. This affects only comparisons.
    d.h. der Spaltenwert und die 1 werden vor dem Vergleich in Strings verwandelt und dann verglichen ... wie unnütz, zwei unnütze Umwandlungen für einen Vergleich der bei int viel schneller ist

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      demnach ist ein "=" Gleich-zeichen immer schneller, egal ob String oder Zahl...?
      Liebe Grüße,
      SteKoe!

      PHP Tutorials
      Peter Kropff | Quakenet | Schattenbaum.net

      Kommentar


      • #4
        Wer ordentlich programmiert, weiß stets den Datentyp jeder Variablen, die er in Queries verwendet. Wer also LIKE für Zahlenvergleiche nutzt, ist unordentlich!

        Auch "WHERE foo LIKE 'bar'" ist schlecht, denn hier genügt ebenfalls =.
        Wer sich den schlechten Stil, alles mit LIKE zu vergleichen aneignet, wird irgendwann auch mal "WHERE foo LIKE '$bar'" schreiben, wobei $bar aus einem Formular kommt. Gebe ich da nur % ein, wirds interessant bzw. gefährlich.

        Kommentar

        Lädt...
        X