Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mysql -10% auf Preise

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Mysql -10% auf Preise

    Hey,

    ich habe ein Feld in dem Preise stehen im Format decimal(15,4) 0.0000 ... also z.B. 25.1681 ... nun möchte ich gern alle Preise -10% ändern. Ist das möglich und wenn ja wie

    Vielen Dank im vorraus.

  • #2
    preis = preis * 0.9 in ein UPDATE-Statement?

    Kommentar


    • #3
      Hi,

      eine Möglichkeit:

      update Tabellenname set Preis = Preis / 110 * 100

      mfg wolf29
      while (!asleep()) sheep++;

      Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

      Kommentar


      • #4
        Super vielen Dank für die schnellen Antworten !!

        Kommentar


        • #5
          Zitat von wolf29 Beitrag anzeigen
          update Tabellenname set Preis = Preis / 110 * 100
          Der Grundwert bei einer Reduzierung ist der Preis und nicht der 110% Preis.

          Kommentar


          • #6
            Der Grundwert bei einer Reduzierung ist der Preis und nicht der 110% Preis.
            Du hast recht: bei der Suche nach einer Alternative zu Tropi's Variante bin ich fälschlicherweise davon ausgegangen, dass das genau dasselbe ist. Das klappt nur, wenn der Preis bsp. 100 ist. Ist der Preis 120 usw. weicht das Endresultat (verständlicherweise ab).
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Zitat von wolf29 Beitrag anzeigen
              Das klappt nur, wenn der Preis bsp. 100 ist.
              100 / 110 * 90 ist auch nicht 90.

              Deine Formel könnte man bei Marketings-Maschen a la "Wir schenken dir 25% Soundsosteuer" verwenden, wo nicht um 25% reduziert wird, sondern eben mit dieser Formel getrickst wird.

              Kommentar


              • #8
                PHP-Code:
                preis 0.9 
                war schon richtig.

                Willst du eine Preiserhöhung von 10%:
                PHP-Code:
                preis 1.1 
                Hast du einen Artikel, der 10% reduziert ist und du möchtest den Ursprungspreis:
                PHP-Code:
                preis 0.9 
                Hast du einen Preis, der erhöht wurde und du willst den vorherigen Preis:
                PHP-Code:
                preis 1.1 

                Kommentar


                • #9
                  Mit Preis x 0,9 bekommt man aber keine schönen, kaufmännischen Preise.

                  Dann schon eher so:
                  Für xx,99er Preise
                  PHP-Code:
                  $VKP_NEU =   ceil($VKP_OLD)-0.01
                  oder für xx,90er Preise
                  PHP-Code:
                  $VKP_NEU = (ceil($VKP_OLD/10)-0.01)*10
                  Als SQL:

                  Code:
                  update Tabelle set Preis = (ceil(Preis/10)-0.01)*10

                  Kommentar


                  • #10
                    Zitat von Mankra Beitrag anzeigen
                    Mit Preis x 0,9 bekommt man aber keine schönen, kaufmännischen Preise.

                    Dann schon eher so:
                    Für xx,99er Preise
                    PHP-Code:
                    $VKP_NEU =   ceil($VKP_OLD)-0.01
                    oder für xx,90er Preise
                    PHP-Code:
                    $VKP_NEU = (ceil($VKP_OLD/10)-0.01)*10
                    Als SQL:

                    Code:
                    update Tabelle set Preis = (ceil(Preis/10)-0.01)*10
                    Danach war nicht gefragt

                    Und bei deinem Beispiel muss man beachten, dass $VKP_OLD schon der um 10% reduzierte VKP sein muss, und nicht der um Ursprungspreis, sonst passt es nicht.

                    Kommentar


                    • #11
                      Wenn der Originalpreis auf vier Nachkommastellen eingetragen wird (siehe Eingangspost) geh ich auch davon aus, das da nicht groß gerundet werden soll.

                      Kommentar


                      • #12
                        Zitat von Tropi Beitrag anzeigen
                        Wenn der Originalpreis auf vier Nachkommastellen eingetragen wird (siehe Eingangspost) geh ich auch davon aus, das da nicht groß gerundet werden soll.
                        25.1681 + 19% = 29,95... Schaut für mich gerundet aus.

                        Kommentar

                        Lädt...
                        X