Left() vs. LIKE

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

  • Left() vs. LIKE

    Hallo zusammen,

    hätte zwei kleine Fragen

    Ich hab ein kleines Suchskript und dabei hätte ich folgende WHERE Bedienungen zur Auswahl:

    PHP-Code:
    AND LEFT(titel1)='$alph_sort' 
    PHP-Code:
    ANS titel LIKE '$alph_sort%' 
    Welche der beiden ist vorzuziehen? Oder bleibt es sich eh gleich?

    Momentan hat $alph_sort die werte a-z die je nach bedarf einzeln abgefragt werden.

    Ist es Möglich mit einem Suchbegriff mir anstatt z.b. LIKE 'a%' nur nummerische anfangszeichen raussuchen zu lassen?

    quasi a = [0-9]

    Hab im Manual leider nix gefunden, im Notfall mach ich halt.. AND LIKE 1, AND LIKE 2, etc... bzw mit LEFT *g* aber schaut halt irgendwie doof aus.

    danke und grüße,
    dani

  • #2
    hm ... IMHO ist like schneller als left(..)=, aber das kannst du ja mal selbst testen.

    Wenn dein DBMS RegEx unterstützt kannst du auch mit [...] abfragen. 4yi: MySQL kann das.

    Kommentar


    • #3
      dank dir asp2php, hat wunderbar geklappt

      Hier noch die Abfrage inkl. des Wildcards:

      PHP-Code:
      WHERE titel REGEXP '[0-9%]' 
      Gruß,
      Dani

      Kommentar


      • #4
        Weiß zwar nicht ob das so korrekt ist, aber funktionieren tust (mysql 5)

        PHP-Code:
        AND LEFT(titel1REGEXP '[0-9%]' 
        Hatte nämlich das Problem mit der oberen Abfrage wurden auch Einträge aufgelistet in denen z.b. am Schluss des Namens nochmal ne Zahl drin war.

        PS: Mit LIKE und REGEXP hab ichs nicht hinbekommen. (evtl. liegst auch daran das ich schon müde bin *g*) Jedenfalls mit LEFT klappts *freu*

        gn8 zusammen,
        Dani

        Kommentar

        Lädt...
        X