Spaltenwerte mit Leerzeichen abfragen

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

  • Spaltenwerte mit Leerzeichen abfragen

    Hallo,

    ich habe in einer Spalte sowohl Jahresangaben wie
    "2001" als auch kombinierte Angaben wie "Dez. 2005".
    Per PHP und GET will ich das Ganze abfragen.

    Die reinen Jahreszahlen kann man ja problemlos mit
    like '%2001%' abfragen, aber wie kann ich die Kombination
    "Dez. 2005" abfragen? Reguläre Ausdrücke?

    Danke für eure Hilfe.
    Matt

  • #2
    LIKE '%2005%' liefert dir nicht nur "2005" sondern auch "Dez. 2005".
    Spalten und GET paßt übrigens nicht zusammen, du meinst sicherlich SELECT.

    http://dev.mysql.com/docs und zwei, drei gute Einsteigertutorials währen nicht verkehrt.

    Kommentar


    • #3
      Ich glaube, ich habe mein Problem noch nicht ausreichend formuliert.
      Mache die Anfrage bereits like '%2001%' und like '%2005%'.

      Problem ist halt, es gibt Felder in der Spalte Jahr,
      in denen nur eine Zahl steht - z.B. "2001"
      aber es gibt halt auch "Dez. 2005" und sogar
      "1998 1999 2000 Dez. 2002 Dez. 2005" in einem Feld.
      Leider kann ich den Datenbestand nicht ändern.

      Nun möchte ich halt alle Felder selecten, die im Feld
      irgendwo "Dez. 2005" in dieser Reihenfolge inklusive
      Leerzeichen enthalten. Reicht da noch like?

      Kommentar


      • #4
        LIKE '%Dez. 2005%'

        Kommentar


        • #5
          LIKE '%Dez. 2005%' hatte ich schon probiert
          und genau das ist ja das Problem. Ich bekomme
          0 Datensätze zurück, wenn ich die Anfrage so stelle.

          LIKE '%2001%' funktioniert z.B. tadellos genau
          wie LIKE '%2005%' nur mit dem Leerzeichen eben nicht!

          Kommentar


          • #6
            Komisch..

            Ich habe das hier mal nachgestellt.


            Dez. 2005 2006 2007
            1998 1999 2000 Dez. 2002 Dez. 2005


            Mit SELECT * FROM `tabelle` WHERE suchspalte like "%Dez. 2005%"

            bekomme ich 2 Treffer.

            Sicher das du ein Leerzeichen zwischen Dez. und 2005 hast oder doch was anderes?
            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              OK - ich habs. War ein dummer Fehler im Datenbestand.
              Manchmal braucht es halt den Anstoss von außen um
              so etwas zu entdecken. Deshalb:
              Vielen Dank an onemorenerd und hhcm für eure Mühen!

              Schönen Tag noch!

              Kommentar

              Lädt...
              X