Announcement

Collapse
No announcement yet.

Mit welchem Befehl kann ein Teil einer Spalte in eine neue gespeichert werden?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mit welchem Befehl kann ein Teil einer Spalte in eine neue gespeichert werden?

    Hi zusammen, ich suche einen Weg, wie ich einen Teil einer Spalte in eine separate bekomme. Die Spalte sind immer nach dem gleichen Schema aufgebaut. Hier ein Beispiel, Spaltenname Code

    `Code`
    xyz-10
    xyz-11
    xyz-12
    xyz-110
    xyz-115
    xyz-120
    ...

    Ich wüsste gerne, ob es möglich ist, mit einer SQL-Abfrage die Zahlen (10,11,12,110,115,120) in eine separate Spalte (Code-Nummer) zu schreiben?

    Besten Dank für euren Support.

    LG Felix

  • #2
    Welche Datenbank?
    Neue Spalte in der Tabelle anlegen (varchar2).
    Oracle:
    Code:
    update TABLE set CODE_NUMMER=substr(code,instr(code,'-')+1);
    Wenn du das als numerischen Wert haben willst, ein to_number nutzen
    Christian

    Comment


    • Felix_83
      Felix_83 commented
      Editing a comment
      Hi Christian,

      danke. Es handelt sich um eine SQL-Datenbank.Aber aktualisiere ich mit deinem Befehl nicht die komplette Tabelle? Ich möchte das Ganz nur für einen Report einmalig ziehen. Geht das auch?

      LG Felix

  • #3
    Es handelt sich um eine SQL-Datenbank
    Ja, aber um welche?

    Aber aktualisiere ich mit deinem Befehl nicht die komplette Tabelle?
    Ohne weitere Einschränkung mittels einer WHERE-Klausel -> ja

    Ich möchte das Ganz nur für einen Report einmalig ziehen. Geht das auch?
    Code:
    select substr(code,instr(code,'-')+1)as CODE_NUMMER from TABELLE;
    Christian

    Comment


    • Felix_83
      Felix_83 commented
      Editing a comment
      Hi, bzgl. der Datenbank musst du mir nochmal helfen. Bin nur Anwender :-) Benutzen HeidiSql. Der Code funktioniert leider nicht wie gewünscht...

  • #4
    Bitte antworte auf ein Post und setze keinen Kommentar rein
    HeidiSQL
    substr = substring
    instr = POSITION

    https://www.heidisql.com/forum.php?t=687
    Christian

    Comment


    • #5
      Hi Christian,

      alles klar: SELECT SUBSTRING(code, POSITION(code,'-')+1) FROM Tabelle führt leider zu folgendem Ergebnis: SQL Fehler (1064) - Syntaxfehler

      Comment


      • #6
        Schau dir den Code auf der verlinkten Seite bei Position an

        SUBSTRING(usr_email, POSITION('@' IN usr_email)+1)

        SELECT SUBSTRING(code, POSITION('-' IN code)+1) FROM Tabelle
        Christian

        Comment


        • #7
          Lieber Christian, tausend Dank für deine Hilfe!! Hat genau so funktioniert. Perfekt.

          LG Felix

          Comment

          Working...
          X