Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensätze mit einer Ziffer von 0-9 am Anfang selektieren

Einklappen

Neue Werbung 2019

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

  • Datensätze mit einer Ziffer von 0-9 am Anfang selektieren

    Hallo!

    Folgendes möchte ich realisieren:

    Ich möchte aus einer Datenbank alle Datensätze herauslesen, bei denenen ein bestimmtes Feld (title) mit einer Ziffer von 0 bis 9 beginnt!

    Vom Prinzip denke ich müsste die Abfrage wie folgt aussehen:

    Code:
    sql_query("SELECT id, title, hits, reviewer, score FROM ".$prefix."_reviews WHERE UPPER(title) LIKE '$letter%' $querylang ORDER by reviewer $order", $dbi);

    Anstelle von $letter müsste nun etwas stehen (keine Variable nötig, ein fester Begriff reicht aus) wenn ich es richtig verstehe, das alle Datensätze mit einer Ziffer von 0 bis 9 am Titelanfang selektiert werden!

    Ich wäre für jeden Tipp dankbar!

    Viele Grüße!

    martin

  • #2
    Re: Datensätze mit einer Ziffer von 0-9 am Anfang selektiere

    Zitat von martin.s
    Ich möchte aus einer Datenbank alle Datensätze herauslesen, bei denenen ein bestimmtes Feld (title) mit einer Ziffer von 0 bis 9 beginnt!

    Anstelle von $letter müsste nun etwas stehen (keine Variable nötig, ein fester Begriff reicht aus) wenn ich es richtig verstehe, das alle Datensätze mit einer Ziffer von 0 bis 9 am Titelanfang selektiert werden!
    http://dev.mysql.com/doc/mysql/de/St...functions.html
    http://dev.mysql.com/doc/mysql/de/Regexp.html

    Kommentar


    • #3
      Hallo!

      Hab vielen Dank für Deine Hilfe!

      Bei den Beispielen ist ja jede Menge dabei, was ganze Zeichenketten angeht mit Buchstaben!

      Wie kann ich das jetzt dann ab er darauf umlegen, das von einer beliebigen Ziffernkette die erste Ziffer als Selektionskriterium genutzt wird wenn sie zwischen 0 und 9 liegt

      Versteh ich das richtig, das ich wenn ich das Ganze von 0 bis 9 selektiert haben möchte, das ich dann mit

      $letter = "[0-9]"

      arbeiten müsste? Das funktioniert leider aber nicht!


      Ich wäre dankbar für noch eine Hilfestellung!

      Viele Grüße!

      martin

      Kommentar


      • #4
        Zitat von martin.s
        Versteh ich das richtig, das ich wenn ich das Ganze von 0 bis 9 selektiert haben möchte, das ich dann mit

        $letter = "[0-9]"

        arbeiten müsste? Das funktioniert leider aber nicht!
        Das ist auch richtig so, daß das nicht funktioniert.

        EDIT: Fehler beseitigt.
        Code:
        SELECT <spaltenliste> FROM tabelle WHERE spalte REGEXP "^[0-9]"
        "So oder so ähnlich..."

        Kommentar


        • #5
          Hab vielen herzlichen Dank! Mit :



          Code:
          SELECT <spaltenliste> FROM tabelle WHERE spalte REGEXP "^[0-9]"
          hat es bestens geklappt! Nur das ? musste ich weglassen!

          Vielen Dank nochmal!

          Viele grüße!

          martin

          Kommentar


          • #6
            Zitat von martin.s
            Nur das ? musste ich weglassen!
            Stimmt. Mit ? findet er nur solche Felder, deren Inhalt nur aus einer Ziffer besteht.

            Kommentar

            Lädt...
            X