Ergebnis 1 bis 4 von 4

Thema: [MySQL] Exkurs Zeichenkettenfunktionen

  1. #1
    TP-Special Mod Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869

    [MySQL] Exkurs Zeichenkettenfunktionen

    Es gibt doch immer wieder Funktionen, die man noch nicht genutzt hat oder noch nicht kennt.

    Daher möchte ich hier kurz die Zeichenkettenfunktionen von sets erläutern.

    Häufig hat man Arrays, die man in SQL-Abfragen berücksichtigen will.
    Handelt es sich um ints, wandelt man das array in eine Kommaliste um und kann mit der Funktion IN arbeiten:

    PHP-Code:
    "SELECT .... WHERE `id` IN (" implode(',',$myarray) . ")"
    Nun gibt es das gleiche auch für Zeichenketten.
    Angenommen wir haben ein Array mit Automarken($carbrands) und ein DB-Feld `automarke`, dann kann man das so abfragen:

    PHP-Code:
    "SELECT .... WHERE FIND_IN_SET(`automarke`," implode(',',$carbrands) . ") > 0"
    Achtung: Im Feld `automarke` darf kein Komma vorkommen, sonst funktioniert die Funktion nicht mehr.

    Ausserdem gibt es noch die Funktionen MAKE_SET und EXPORT_SET, nachzulesen unter http://dev.mysql.com/doc/refman/4.0/...functions.html

    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer

  2. #2
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Hallo Steffen

    Vor einer Weile war mal im Gespräch einen Sammel-Thread zu machen in dem all die Goodies (wenig beachtete aber sehr nützliche Funktionen) rein könnten. Nach einer Weile würde das sicher eine nette Fundgrube für alle Suchende werden. Vielleicht sollte man das Thema nochmal aufgreifen

    Meiner Meinung nach sollte so ein Thread aber moderiert sein, sonst artet das in heilloses Durcheinander und Diskussionen aus.

    Gruß Rizzo

  3. #3
    TP-Special Mod Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    Gute Idee, ich leg nachher mal einen für MySQL an.

    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer

  4. #4
    TP-Supporter
    Registriert seit
    Dec 2005
    Beiträge
    455
    hm, soweit ich weiß, kann man mit

    WHERE spalte IN ('val1', 'val2');

    auch strings prüfen. habe ich gemacht und hat wunderbar funktioniert

    edit: also

    where field = 'val1' or field = 'val2' or ... or field = 'valN'

    =

    where field IN ('val1', 'val2', ..., 'valN');

    nur dass man letzteres (wie du schon gezeigt hast) schön einfach per implode() erstellen kann

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51