Ankündigung

Einklappen
Keine Ankündigung bisher.

MYSQL - Komma und Punkt

Einklappen

Neue Werbung 2019

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

  • MYSQL - Komma und Punkt

    Hallo,

    ich hoffe mir kann jemand weiterhelfen. Ich benötige eine MYQSL select-Abfrage
    in der das Komma durch einen Punkt als Dezimaltrennzeichen ausgetausch wird.

    Z.b. in der Datenbank stehen unter anderem die Werte Wert
    20,05
    15,01
    16,84
    8,84
    alle mit Komma getrennt. Nun will ich mit aber ausgeben lassen welche Werte in der Datenbank zum Beispiel grösse als 20,01 sind. Geh ich recht in der Annahme das ich das Komma erst durch ein Punkt ausgetauscht werden muss? Wenn ja, geht das gleich in der Abfrage, denn in der Datenbank stehen Tausende Datensätze und die Anzeige mit Komma wird später noch benötigt und kann daher nicht geändert werden.

    Ich hoffe Ihr könnt mir weiterhelfen, denn ich habe im Internet nach allem möglichen gesucht, aber leider nichts gefunden oder bin blind gewesen.

    Vielen Dank im vorraus

    Madenar

  • #2
    http://dev.mysql.com/doc/refman/5.0/...functions.html Da solltest du fündig werden

    Kommentar


    • #3
      Ein REPLACE in Verbindung mit einem CAST nach DECIMAL sollten helfen.

      Stellt sich nur die Frage, warum diese offensichtlichen DECIMAL-Werte im falschen Datentyp gespeichert wurden?

      Kommentar


      • #4
        Bitte Forenstruktur beachten!!!

        [MOD: verschoben]

        Kommentar


        • #5
          Zitat von Madenar76 Beitrag anzeigen
          Z.b. in der Datenbank stehen unter anderem die Werte Wert
          20,05
          15,01
          16,84
          8,84
          alle mit Komma getrennt. Nun will ich mit aber ausgeben lassen welche Werte in der Datenbank zum Beispiel grösse als 20,01 sind. Geh ich recht in der Annahme das ich das Komma erst durch ein Punkt ausgetauscht werden muss? Wenn ja, geht das gleich in der Abfrage, denn in der Datenbank stehen Tausende Datensätze und die Anzeige mit Komma wird später noch benötigt und kann daher nicht geändert werden.
          Du hast da einen prinzipiellen Denkfehler: Datentypen wurden dafür erfunden, genutzt zu werden. Du verwendest einen TEXT-Datentyp für Daten, mit denen Du rechnen willst. Das geht dann nicht.

          Wenn Du in der AUSGABE statt des Punktes ein Komma möchtest, dann ist das ein Problem der Ausgabe, dafür gibt es passende Funktionen, z.B.:

          Code:
          test=*# select to_char(1.23,'999D999');;
           to_char
          ----------
              1,230
          (1 row)
          Das setzt Dir dann das passend zu Deinen lokalen Einstellungen den Dezimaltrenner.

          Also, bastle Deine Tabelle um, verwende korrekte Datentypen, und alles wird gut.


          Andreas

          Kommentar

          Lädt...
          X