Frank Ortig: Update

Hi,

gibt es eine Möglichkeit eines Update und gleichzeitiges zurückschreiben?
Ich möchte aus einem Datenfeld alle Spaces entfernen.
Geht das?

Danke!

  1. Hi,

    gibt es eine Möglichkeit eines Update und gleichzeitiges zurückschreiben?
    Ich möchte aus einem Datenfeld alle Spaces entfernen.
    Geht das?

    meinst Du sowas wie LTRIM, RTRIM ? - Oder was meinst Du ? (UPDATE ist ein Vorgang und "Zurueckschreiben" ist ein Vorgang.)

    Gruss,
    Lude

    1. Hi,

      gibt es eine Möglichkeit eines Update und gleichzeitiges zurückschreiben?
      Ich möchte aus einem Datenfeld alle Spaces entfernen.
      Geht das?

      meinst Du sowas wie LTRIM, RTRIM ? - Oder was meinst Du ? (UPDATE ist ein Vorgang und "Zurueckschreiben" ist ein Vorgang.)

      ich will aus dem Feld "data" einfach Spaces entfernen, d.h. ich muß lesen und zurückschreiben, wie auch immer

      update tabelle set feld = feld(ohne_spaces)

      so in etwa....

      1. Hallo,

        ein sql-befehl hierzu ist mir nicht bekannt...aber könnte schon sein...

        als variante:

        alles lesen-->felder bearbeiten-->updaten

        eine schleife...das nächste Mal Daten die gespeichert werden vernünftig checken...

        Odium

        1. Hallo,

          ein sql-befehl hierzu ist mir nicht bekannt...aber könnte schon sein...

          als variante:

          alles lesen-->felder bearbeiten-->updaten

          eine schleife...das nächste Mal Daten die gespeichert werden vernünftig checken...

          Odium

          Ok, mache ich mit Perl...
          Die Daten sind alt bzw. ich konnte die Tabellen so wie ich sie bekommen habe nicht beeinflussen.

          Aber danke!

          1. Hallo,

            hier ist was zu MySQL http://www.mysql.com/doc/en/String_functions.html

            siehe trim
            ich denke eine sql-anweisung ist nun ausreichen

            update mit unterselect mit trim
            aber unterabfragen ala "select * from tabelle where feld1 in(select schlüssel from tabelle2)"
            sind in mysql ab einer gewissen version möglich, wenn überhaupt

            MS-SQL Server z.B. kann das wieder, oracle u.ä. bestimmt auch...

            aber vorher die tabelle/db kopieren, damit man keine böse überraschung erlebt...

            Odium

            1. Hi, hallo

              MS-SQL Server z.B. kann das wieder, oracle u.ä. bestimmt auch...

              ganz bestimmt! ... Oracle bietet auch andere Befehle, die nativ über alle Datenzugriffslayer (ODBC,OLE) verwendet werden können. Bei MS zeuch bin ich mir nicht ganz sicher. T-SQL vom MS SQL Server sollte weiterentwickelt sein als Access, bei dem ich Replace() nicht nutzen kann :-(

              Tschau, tschüß,
              Frank

  2. Hi Frank

    gibt es eine Möglichkeit eines Update und gleichzeitiges zurückschreiben?
    Ich möchte aus einem Datenfeld alle Spaces entfernen.
    Geht das?

    Update table set feld = trim(feld). Für trim nimmst du die entsprechende
    Funktion deines DBMS.

    Du kannst problemlos in einem Update Werte des selben Datensatzes verwenden.

    Siehe auch: http://forum.de.selfhtml.org/archiv/2003/1/35557/, ist
    das fast das selbe Problem.

    Gruss Daniela

    --
    Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
    1. Hallo,

      Update table set feld = trim(feld)

      ----------------------------------^
      reicht hier schon die angabe des feldes?
      muss er hier nicht eine entsprechende unterabfrage starten?

      Odium

      1. Hi Odium

        Update table set feld = trim(feld)
        ----------------------------------^
        reicht hier schon die angabe des feldes?
        muss er hier nicht eine entsprechende unterabfrage starten?

        Wozu? Es ist der aktuelle Datensatz, steht alles auch wunderschön
        beschrieben in dem Link. Wenns ein anderer Datensatz wäre, müsstest
        du mit einer Unterabfrage arbeiten.

        Gruss Daniela

        --
        Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
        1. Hi, hallo

          wobei Trim(....) aber nur die leerzeichen vom dem ersten Nicht-leerzeichen und nach dem letzten Nicht-Leerzeichen entfernt:  " bla bla " wird dabei zu "bla bla"

          es gäbe auch die Variante mit Replace(str1,str2replace,strReplacement) -> Replace(" bla bla "," ","")  bzw. mit Hochkommas statt "Quotation Marks"

          aber von DBMS' werden nicht immer alle Funktionen über ADO/ODBC/OLE etc untersützt .. da sollte man aufpassen!

          Tschau, tschüß,
          Frank

    2. Hi Daniela,

      Update table set feld = trim(feld).

      das "entsorgt" aber nur Space am Anfang und Ende. Gibt es etwas, was alle Spaces entfernt?

      Danke!

      1. Hi, hallo

        siehe meine Antworten ... die du wahrscheinlich nicht gelesen hast.

        Tschau, tschüß,
        Frank