tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1660
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Grille
    Grille Grille ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Ort
    Berlin
    Beiträge
    230
    Hallo,

    Kann mir jemand sagen, welchen Datentyp ich in meiner MySQL Datenbank nutzen muss, um Geldbeträge zu speichern?

    also auch Werte wie:
    -123,45

    Danke
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    MySQL Doc - Numerische Datentypen

    [edit]
    Siehe unten.
    Geändert von Flex (08.08.07 um 15:09 Uhr)
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Hallo,

    FLOAT ist wegen der Ungenauigkeit der Fließkommadarstellung denkbar ungeeignet. Besser wäre der Datentyp DECIMAL.

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  4. #4
    Avatar von Grille
    Grille Grille ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Ort
    Berlin
    Beiträge
    230
    habe aber bei meiner Datenbank das Problem: wenn ich einen negertiven betrag importieren will, schreibt der 0,00 hin

    das hier ist meine SQL anweisung für die Tabelle:
    PHP-Code:
     
    CREATE TABLE t010_konto 
    (
      
    f010_id BIGINT NOT NULL AUTO_INCREMENT,
      
    f010_bezeichnung VARCHAR(255NULL,
      
    f010_kontoinhaber VARCHAR(255NULL,
      
    f010_kontonummer VARCHAR(16NULL,
      
    f010_bankleitzahl VARCHAR(16NULL,
      
    f010_create DATETIME NULL,
      
    f010_update DATETIME NULL,
      
    PRIMARY KEY(f010_id)
    );
    CREATE TABLE t020_buchung (
      
    f020_id BIGINT NOT NULL AUTO_INCREMENT,
      
    f020_f030_id BIGINT NOT NULL,
      
    f020_f010_id BIGINT NOT NULL,
      
    f020_datum DATE NULL,
      
    f020_wertstellung DATE NULL,
      
    f020_buchungshinweis VARCHAR(512NULL,
      
    f020_hinweis VARCHAR(512NULL,
      
    f020_wert DECIMAL(10,2UNSIGNED NULL,
      
    f020_saldo DECIMAL(10,2UNSIGNED NULL,
      
    PRIMARY KEY(f020_id),
      
    INDEX t020_buchung_FKIndex1(f020_f010_id),
      
    INDEX t020_buchung_FKIndex2(f020_f030_id)
    );
    CREATE TABLE t030_buchungsgruppe (
      
    f030_id BIGINT NOT NULL AUTO_INCREMENT,
      
    f030_gruppenname VARCHAR(255NULL,
      
    f030_beschreibung VARCHAR(512NULL,
      
    PRIMARY KEY(f030_id)
    ); 
    und wenn ich das das eintragen will (SQL Anweisung)
    PHP-Code:
    INSERT INTO `t020_buchung` ( `f020_id` , `f020_f030_id` , `f020_f010_id` , `f020_datum` , `f020_wertstellung` , `f020_buchungshinweis` , `f020_hinweis` , `f020_wert` , `f020_saldo` ) VALUES NULL '1''2''2005-08-06 ' '2005-08-06''TEST'NULL '-123,45''885,28' ), 
    dann steht in der Datenbank was mit 0.00 im Feld "f020_wert" und 885.00 im Feld "f020_saldo"
     

  5. #5
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Entferne das UNSIGNED.

    "Unsigned" zeigt einen vorzeichenlosen Bereich an, sprich es gibt laut Definition keine negativen Werte.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  6. #6
    Registriert seit
    May 2007
    Ort
    Köln / Bonn
    Beiträge
    844
    Blog-Einträge
    4
    Des weiteren:

    Deine Zahlenwerte haben das deutsche Dezimal-Trennzeichen , (Komma). Aber die MySQL Datenbank erwartet . darum solltest du die Daten vorher umformatieren da sonst die Nachkommestellen verfallen. Zumindest bei meiner MySQL Version tut es das *g*
     
    Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.

  7. #7
    Avatar von Grille
    Grille Grille ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Ort
    Berlin
    Beiträge
    230
    genau .. vielen Dank .. beides Funktioniert
     

Ähnliche Themen

  1. MySQL Datentyp auslesen
    Von Benzbob im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 20.11.09, 15:16
  2. Antworten: 5
    Letzter Beitrag: 02.03.08, 18:26
  3. Verständnisproblem: Datentyp SET bei MySQL
    Von aleks im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 20.04.06, 22:10
  4. PHP / MySQL Datentyp
    Von bgauch im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 19.12.05, 21:27
  5. MySQL kleinster zu reservierender Datentyp
    Von Shooter2k im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 22.07.05, 14:14