SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.08.2006, 01:09:21
Maverickx010 Maverickx010 ist offline
Anfänger
 
Registriert seit: May 2006
Beiträge: 8
Problem mit WHERE

Hallo,
ich versuche über eine SQL Anfrage alle Datensätze mit dem Buchungsbetrag 460.28 anzuzeigen, welchen es auch definitiv in der Tabelle gibt. SQL liefert aber immer null Ergebnisse zurück. Das passiert auch bei der Suche im PHPmyAdmin.

Die Anfrage lautet:
SELECT * FROM `buchhaltung_buchungsliste` WHERE `buchungsbetrag` = 460.28

Der Datensatz ist in der Spalte Buchungsbetrag vorhanden. Das Feld Buchungsbetrag ist als float deklariert.

Ich kann leider keinen Fehler erkennen. Weiss vielleicht jemand weiter ?
Mit Zitat antworten
  #2  
Alt 02.08.2006, 01:19:18
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Problem mit WHERE

Zitat:
Zitat von Maverickx010
Der Datensatz ist in der Spalte Buchungsbetrag vorhanden. Das Feld Buchungsbetrag ist als float deklariert.
Das ist der Fehler. Das liegt nicht an MySQL sondern daran, daß bei der Umrechnung von Kommazahlen ins float Format unendliche binäre Brüche entstehen. PHP hat ebenfalls dieses Problem.

Deshalb: float vor dem Vergleich immer auf die erforderliche Anzahl an Nachkommastellen runden.
Mit Zitat antworten
  #3  
Alt 02.08.2006, 01:22:29
Maverickx010 Maverickx010 ist offline
Anfänger
 
Registriert seit: May 2006
Beiträge: 8
AW: Problem mit WHERE

Puh, danke

Und wie mache ich das ??
Ich meine in einer SQL Anfrage, nicht in PHP

Und vorallem, ich hab garnix mit der Zahl berechnet oder umgerechnet, wie kann es da zu Nachkommadifferenzen kommen ?

Geändert von Maverickx010 (02.08.2006 um 01:24:24 Uhr)
Mit Zitat antworten
  #4  
Alt 02.08.2006, 02:32:36
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Problem mit WHERE

Zitat:
Zitat von Maverickx010
Und wie mache ich das ??
Ich meine in einer SQL Anfrage, nicht in PHP
Handbuchlesen. PHP und MySQL kennen die Funktion round().

"... round(spalte, 2) = " . round($variable, 2) ...

Zitat:
Und vorallem, ich hab garnix mit der Zahl berechnet oder umgerechnet, wie kann es da zu Nachkommadifferenzen kommen ?
Hab ich doch beschrieben, daß es bei der Konvertierung von Werten ins float Format zu unendlichen binären Brüchen kommen kann.

Die Zahl 0.2 ist zB. so ein Kandidat.
http://test.php-help.info/float-1/

PHP-Code:
echo 0.2 0.2 0.2 0.2 0.2
Eigentlich müßte 0 rauskommen. Tatsächlich ergibt sich ein ganz kleiner Fehler:
5.55111512313E-17
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
WHERE MATCH ... AGAINST..., zusätzliche WHERE Anweisungen definieren?! 8805-evergreen. MySQLi/PDO/(MySQL) 6 10.03.2006 21:48:06
Problem mit Lokalisierung eines SESSION - Problems Fabian85 PHP für Fortgeschrittene und Experten 5 03.10.2005 20:17:54
Problem bei Schleife in Schleife Fluppi PHP Grundlagen 1 19.06.2005 12:05:10
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 16:29:57
Problem mit Where und Date Phil MySQLi/PDO/(MySQL) 3 03.12.2003 08:26:17


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:53:54 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt