Mike© : Abfrage auf ein "Float" Feld gibt kein Ergebnis

Moin @ ALL

ich habe in einer MySql DB ein float Feld mit dem Namen artikelnummer.

Wenn ich nun folgende SQL Stament absetze, dann bekomme ich kein Ergebnis?

select beschreibung from karte where artikelnummer=241.2

Es gibt aber ein Feld artikelnummer mit dem Wert 241.2, warum wird das nicht gefunden?

Folgende Abfrage hingegen liefert ein Ergebnis

select beschreibung from karte where artikelnummer=74

Ich bin ratlos!

Danke & regds
Mike©

--
Freunde kommen und gehen. Feinde sammeln sich an.
  1. Hi Mike,

    select beschreibung from karte where artikelnummer=241.2

    Fließkommazahlen werden intern viel genauer gespeichert, als es nach außen hin aussieht. Versuch's selbst:

    SELECT
        artikelnummer * 1.0000000000000000
    FROM
        karte;

    Es gibt aber ein Feld artikelnummer mit dem Wert 241.2, warum wird das nicht gefunden?

    wahrscheinlich ist es intern eher 241.200000000000012 oder 241.199999999999987 oder ähnlich

    Du musst dich bei Fließkommazahlen eigentlich immer für eine für dich akzeptable Genauigkeit festlegen und dann alle Werte innerhalb dieser auswählen:

    SELECT
        beschreibung
    FROM
        karte
    WHERE
        ABS(artikelnummer - 241.2) < 0.000001

    Gruß,
    Andreas.

    1. Moin Andreas,

      zunächs mal Danke, dann das aber.

      auch diese Abfrage führte zu keinem Ergebnis :-(

      SELECT
          beschreibung
      FROM
          karte
      WHERE
          ABS(artikelnummer - 241.2) < 0.000001

      Welchen (nummerischen) Feldtyp könnte ich noch verwenden für 241.1?
      Geht das auch mit "decimal"? Ich brauche nur eine Stelle hinterm Komma ( in diesem Falle Punkt )

      regds
      Mike©

      --
      Freunde kommen und gehen. Feinde sammeln sich an.
      1. hi,

        Welchen (nummerischen) Feldtyp könnte ich noch verwenden für 241.1?
        Geht das auch mit "decimal"? Ich brauche nur eine Stelle hinterm Komma ( in diesem Falle Punkt )

        natürlich - wie wär's mal mit einem blick in die doku?

        btw: sowieso recht seltsam, artikelnummern mit dezimalstellen, oder?
        und wenn's schon "sein muss" - dann doch eher als string ablegen.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Moin wahsaga,

          natürlich - wie wär's mal mit einem blick in die doku?

          YEP *schäm*

          Ich konnte es mit decimal lösen.

          btw: sowieso recht seltsam, artikelnummern mit dezimalstellen, oder?

          Ja, ich muss für einen Freund eine Page abändern. Dabei ist es nötig die vorhanden Artikelnummern weiter zu differenzieren, daher die N,n

          und wenn's schon "sein muss" - dann doch eher als string ablegen.

          Taj, die die Artikelnummern bereits überall nummerisch definiert sonst wäre der Aufwand zu groß.

          Aber jetzt passt es.

          Danke & regds
          Mike©

          --
          Freunde kommen und gehen. Feinde sammeln sich an.
          1. hi,

            btw: sowieso recht seltsam, artikelnummern mit dezimalstellen, oder?

            Ja, ich muss für einen Freund eine Page abändern. Dabei ist es nötig die vorhanden Artikelnummern weiter zu differenzieren, daher die N,n

            dann könntest du ja jetzt auch alle artikelnummern mit 10 multiplizieren, dann hast du wieder ganzzahlige ...

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. Moin wahsaga,

              dann könntest du ja jetzt auch alle artikelnummern mit 10 multiplizieren, dann hast du wieder ganzzahlige ...

              Der Kunde ist ein Türke mit eine Pizzeria ;-) Before der an seiner Artikelnummer schrauben läßt muss viel passieren.
              Zudem die Ausgabe der Speisekarte ein ein ORDER BY artikelnummer enthält. Bitte erinnert mich das nächstemal an meinen Leitspruch auf meinem T-Shirt - I won't fix your Comp -

              Es sind immer die gleichen Baustellen ;-)

              regds
              Mike©

              --
              Freunde kommen und gehen. Feinde sammeln sich an.
              1. hi,

                Der Kunde ist ein Türke mit eine Pizzeria ;-)

                das erinnert mich gerade daran, dass ich noch nichts zu abend gegessen habe, und meinem hungergefühl jetzt mal nachgeben sollte.

                Zudem die Ausgabe der Speisekarte ein ein ORDER BY artikelnummer enthält.

                und das fiele deiner meinung nach so unterschiedlich aus, wenn man die zahlen mit 10 multiplizieren würde? ich glaub', ich muss mal mit deinem matheleerer reden ...

                gruß,
                wahsaga

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                1. Hi,

                  ich muss mal mit deinem matheleerer reden ...

                  Sprich lieber erstmal mit Deinem Deutschlehrer ...

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                  1. Moin Mud,

                    ich muss mal mit deinem matheleerer reden ...

                    Sprich lieber erstmal mit Deinem Deutschlehrer ...

                    *ROOOOOOOOOOOOFL*

                    regds
                    Mike©

                    --
                    Freunde kommen und gehen. Feinde sammeln sich an.
                2. Moin wahsaga,

                  und das fiele deiner meinung nach so unterschiedlich aus, wenn man die zahlen mit 10 multiplizieren würde? ich glaub', ich muss mal mit deinem matheleerer reden ...

                  natürlich nicht, aber er möchte seine Artikelnummer 72 sehen und nicht 720 *freck* Das macht für mich wieder fummel hier und fummel da.

                  BTW: Ich hatte gerade angefragt ob er ein Prob damit hat wenn die Artikelnummer anstatt 72 mit 72.0 angezeigt wird. Rate mal?
                  Er hat *Leck mich fett*

                  Nix bezahle wolle, aber alles top. (Wobei ich ja nur der Nothelferarsch bin)

                  Warum kann ich nur einfach nicht NEIN sagen, oder noch besser "Nö; kann ich nicht"

                  regds
                  Mike©

                  PS: Bestelle dir doch ne Pizza, ich empfehle Nummer 72.1264345

                  --
                  Freunde kommen und gehen. Feinde sammeln sich an.