tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
424
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Hummus Hummus ist offline Grünschnabel
    Registriert seit
    Feb 2011
    Beiträge
    3
    Hallo Leute,

    ich bekomme täglich eine CSV-Datei mit Artikeln und Preisen. Diese importiere ich via Navicat
    in eine Datenbank. Danach lasse ich ein Script laufen um diverse Artikel zu löschen.

    Soweit , so gut. Nun möchte ich die Varchar Spalte mit den Werten z.B 20,22 in eine andere Spalte mit Decimal 20.22 und diesen Wert dann in eine weitere Spalte "brutto" inkl. mwst automatisiert ausfüllen lassen

    ------------------------------------------------------------------
    | preis original | preis decimal | preis x1.19 brutto |
    ------------------------------------------------------------------
    | 20,22 | 20.22 | 24.06 |
    ------------------------------------------------------------------

    Also habe nur die Spalte "Preis Original"


    Kann das hier leider nicht via PHP erledigen lassen.
    Für ein kleines Script wäre ich euch sehr Dankbar, da ich grad anscheinend total auf
    dem schaluch stehe.

    Vielen Dank im Voraus
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Schau mal ob du damit etwas anfangen kannst:

    Code sql:
    1
    2
    3
    4
    
    SELECT original,
    REPLACE(original, ",", ".") AS DECIMAL, (
    REPLACE(original, ",", ".") * 1.19) AS brutto
    FROM tabelle

    Hiermit wird in der Spalte "original" das Komma durch einen Punkt ersetzt und als Spalte "decimal" ausgegeben. Zusätzlich wird die Spalte "brutto" ausgegeben bei der der Inhalt mit 1,19 multipliziert wird.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Oder hier das direkte einfügen der umgewandelten Daten in eine andere Tabelle:

    Code sql:
    1
    2
    3
    4
    
    INSERT INTO neue_tabelle (`decimal`, `brutto`)
    SELECT @d := (
    REPLACE(original, ",", ".")) AS d, @b := (@d * 1.19)
    FROM tabelle;
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  4. #4
    Hummus Hummus ist offline Grünschnabel
    Registriert seit
    Feb 2011
    Beiträge
    3
    Vielen Dank Tombe,

    wie bekomme ich nach folgendem Script die Daten in die Spalte "PreisDecimal" hinein.

    SELECT Preis,
    REPLACE(Preis, ",", ".")
    AS PreisDecimal
    FROM Tabelle

    Damit hätte ich eine eigene Orignal-Spalte, allerdings ohne die alte Varchar Spalte anzufassen. Was ich auch nicht kann, da diese wegen einer anderen Webapp so laufen lassen muss.
    "PreisDecimal" = Decimal 20,2
    "Preis" = Varchar 255

    Vielen Dank Tombe
     

  5. #5
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Also wenn du nur die Spalte "PreisDecimal" ändern willst, dann ist es folgende Anweisung:

    Code sql:
    1
    
    UPDATE tabelle SET PreisDecimal = REPLACE(Preis, ",", ".")

    wenn du die Spalten "PreisDecimal" und "PreisBrutto" ändern willst, dann ist es diese Anweisung:

    Code sql:
    1
    
    UPDATE tabelle SET PreisDecimal = REPLACE(Preis, ",", "."), PreisBrutto = (REPLACE(Preis, ",", ".") * 1.19)

    Wobei zu beachten ist, das mit diesen Anweisungen alle in der Tabelle vorhandenen Datensätze betroffen sind, aber das soll ja wohl auch so sein.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  6. #6
    Hummus Hummus ist offline Grünschnabel
    Registriert seit
    Feb 2011
    Beiträge
    3
    Vielen Dank! hat alles geklappt!

    Hast mein Tag gerettet. Habe jetzt die OrignalPreisNetto Spalte mit Komma und eine neue mit Decimalwert mit und ohne MwSt.

    Mission beendet,

    Danke vielmals
     

Ähnliche Themen

  1. Double.ToString() Punkt statt Komma
    Von FJK im Forum .NET Café
    Antworten: 4
    Letzter Beitrag: 24.02.11, 11:40
  2. Punkt statt Komma
    Von emplace im Forum PHP
    Antworten: 11
    Letzter Beitrag: 22.06.09, 16:34
  3. Punkt statt Komma
    Von Zero2000 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 24.11.04, 14:11
  4. Punkt zu Komma
    Von racer_lars im Forum .NET Archiv
    Antworten: 6
    Letzter Beitrag: 08.07.04, 15:55
  5. Komma statt Punkt in C
    Von Vektor im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 08.03.04, 17:00

Stichworte