Ankündigung

Einklappen
Keine Ankündigung bisher.

Rückgabe nur natürliche Zahlen sonst Null?

Einklappen

Neue Werbung 2019

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

  • kami
    hat ein Thema erstellt Rückgabe nur natürliche Zahlen sonst Null?.

    Rückgabe nur natürliche Zahlen sonst Null?

    Hallo,

    wie kann ich in einem Mysql sagen, wenn ich mehrere Felder Addiere und subtrahiere, das ich als Ergebnis nur eine natürliche Zahl zurückbekommen möchte, und alles was negativ ist als 0 zurückgegeben werden soll?

    Vielen Dank.

    Gruß kami

  • nikosch
    antwortet
    Geht übrigens auch viel einfacher: In einer Subtraktion entsteht immer ein Wert größer Null, wenn der Minuend größer als der Subtrahend ist.
    Ergo:

    Code:
    WHERE zahl1 > zahl2

    Einen Kommentar schreiben:


  • kami
    antwortet
    Hi,

    vielen Dank.

    Hat sehr gut mit IF geklappt.

    Gruß kami

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zwei Vorschläge dazu.. (meinst Du sowas?):

    Code:
    CREATE TABLE zahlen (
     id INT NOT NULL,
     zahl1 INT NOT NULL,
     zahl2 INT NOT NULL
    );
    
    INSERT INTO zahlen VALUES
    ( 1, 10, 20),
    ( 2, 20, 10),
    ( 3, 15, 15);

    Lösung mit Standard-SQL

    Code:
    SELECT id, zahl1, zahl2
      FROM zahlen
     WHERE CASE 
            WHEN zahl1 - zahl2 >= 0 THEN 1
            ELSE 0
           END;
           
    +----+-------+-------+
    | id | zahl1 | zahl2 |
    +----+-------+-------+
    |  2 |    20 |    10 |
    |  3 |    15 |    15 |
    +----+-------+-------+
    2 rows in set (0.00 sec)
    
    mysql>

    Lösung mit MySQL Bordmitteln:

    Code:
    SELECT id, zahl1, zahl2
      FROM zahlen
     WHERE IF (zahl1 - zahl2 >= 0, 1, 0);
     
    +----+-------+-------+
    | id | zahl1 | zahl2 |
    +----+-------+-------+
    |  2 |    20 |    10 |
    |  3 |    15 |    15 |
    +----+-------+-------+
    2 rows in set (0.00 sec)
    
    mysql>
    Grüße
    Thomas

    Einen Kommentar schreiben:


  • ChrisB
    antwortet
    Du willst schlicht und einfach das Maximum von deinem Rechenergebnis und 0 ermitteln.

    Ich weiß nicht, ob MySQL da eine eigene Funktion für hat (schau ins Manual, Kapitel mathematische Funktionen) - wenn nicht, dann geht das auch mit einem simplen IF.

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Mit einem IF.

    in einem Mysql sagen
    Au man

    Einen Kommentar schreiben:

Lädt...
X