Ergebnis 1 bis 4 von 4

Thema: Datenbankeinträge mit '

  1. #1
    Hanno ist offline Neuer Benutzer
    Registriert seit
    21.01.2010
    Beiträge
    26

    Standard Datenbankeinträge mit '

    Hallo Forum,

    Ich habe ein kleines Problem mit "falschen Einträgen" in einer Datenbank. ich habe von einem Kunden eine Datenbank mit Pflanzendaten (Gattung, Art, Sorte, Familie, usw.) bekommen. Das Ganze liegt jetzt in einer Tabelle vor. Leider ist es jetzt so, dass der Anwender in die Spalte Sorte immer den Text mit hochkommata eingetragen hat.

    Standort | gattung | art | sorte | familie | ...
    100 Panicum virgatum 'Prarie Sky' Poaceae
    101 Tyhmus praecox 'Coccineus' Lamiaceae
    102 ...

    Es ist jetzt also immer in der Spalte sorte der Text mit ' eingetragen.
    Ich nutze jetzt die Datenbank innerhalb einer mapbender Karten-Applikation. Hierbei will ich eine Such-abfrage definieren. Hier ist jetzt das Problem, dass die ' stören. Wenn ich z.b. nach gattung suchen will und ein a eingebe, dann sollen mir alle gattungen die mit a beginnen angezeigt werden. wenn ich jetzt aber bei sorte ein a eingebe, dann bekomme ich natürlich kein ergebnis, weil ja der erste Buchstabe ein ' ist. Gibt es jetzt irgendeine Möglichkeit dieses ' wegzubekommen ohne dass ich alle Datensätze von hand ändern muss? Vielleicht könnte man irgendwie eine neue spalte anlegen und dort dann den inhalt von sorte reinkopieren ohne das '. Aber ich habe keine Ahnung ob man das erste und letzte zeichen einfach abschneiden kann beim insert in eine neue spalte. oder muss ich das über php auslesen und dann über php funktionen aktualisieren?
    Hat hierfür irgendjemand eine Idee oder einen Lösungsansatz oder vielleicht sogar eine Umsetzung?

    Für eure Hilfe bedanke ich mich recht herzlich im Voraus.

    Mit freundlichem Gruss
    Hanno Rahn

  2. #2
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    Zitat Zitat von Hanno Beitrag anzeigen
    Vielleicht könnte man irgendwie eine neue spalte anlegen und dort dann den inhalt von sorte reinkopieren ohne das '
    Mit ALTER TABLE kannst Du problemlos eine Spalte hinzufügen.
    Aber ich habe keine Ahnung ob man das erste und letzte zeichen einfach abschneiden kann
    Schau Dir die Funktion substring() an:
    PostgreSQL: Documentation: Manuals: PostgreSQL 9: String Functions and Operators

    beim insert in eine neue spalte
    Du willst ein UPDATE, kein INSERT (die Datensätze sind ja schon da)
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  3. #3
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Du könntest auch einen funktionalen Index auf das Ergebnis legen und dann die Anfrage passend stellen.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  4. #4
    Hanno ist offline Neuer Benutzer
    Registriert seit
    21.01.2010
    Beiträge
    26

    Standard

    Danke,

    Eine Kombination aus substring und char_length bringt das gewünschte Ergebnis.

    Gruss
    Hanno

Berechtigungen

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

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum