Abfrage auf ein "Float" Feld gibt kein Ergebnis
Mike©
- datenbank
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©
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.
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©
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
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©
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
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©
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
Hi,
ich muss mal mit deinem matheleerer reden ...
Sprich lieber erstmal mit Deinem Deutschlehrer ...
cu,
Andreas
Moin Mud,
ich muss mal mit deinem matheleerer reden ...
Sprich lieber erstmal mit Deinem Deutschlehrer ...
*ROOOOOOOOOOOOFL*
regds
Mike©
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