Mailinglisten-Archive |
Hallo Martin, >Weiterhin geht es mir zunaechst um den Typ FLOAT[(M,D)]. Um zu wissen, >welchen NUMBER-Typ in Oracle ich in FLOAT umwandeln kann, muss ich >wissen, wie sich M und D zueinander verhalten und wie sie den >Fliesskommawert beeinflussen. Das Problem dabei ist, dass ich bisher >nicht herausfinden konnte, wann die Fliesskommzahl gerundet wird und >wann nicht. Welche Bedingungen dabei fuer M und D beachtet werden >muessen. Hat hier jemand eine Idee? Zuerst ein Verweis auf die Doku (evtl. umgebrochen). http://www.mysql.de/documentation/mysql/bychapter/manual.de_Reference.ht ml#Column_types Hier werden unter anderem auch die Unterschiede zwischen der Deklaration FLOAT(M) und FLOAT[(M,D)] erlaeutert. Wenn ich das richtig verstanden habe, sind FLOAT[(M,D)] unechte Fliesskommazahlen, d.h. die Werte werden unter Umstaenden gerundet. M gibt die maximale Anzahl an Zeichen an und D die Anzahl der Dezimalstellen. Beispiele fuer Rundungen: Zahl Spalte Rundung 1.9876 FLOAT(5,2) 1.99 1.9876 FLOAT(5,3) 1.988 1.9876 FLOAT(6,4) 1.9876 Die Deklaration FLOAT(5,4) ist uebrigens nicht zulaessig, da D nicht groesser als M-2 sein darf. Ist aufgrund der Vorkommastelle und des Dezimalzeichens ja auch logisch. Anders verhaelt sich die Definition als FLOAT(M), da es sich seit MySQL 3.23 um echte Fliesskommazahlen handelt. Hierbei hat FLOAT(4) eine einfache und FLOAT(8) eine doppelte Genauigkeit, d.h. die Wertebereiche liegen in diesen Bereichen: Deklaration Maxwert Minwert FLOAT(4) -/+3.402823466E+38 -/+1.175494351E-38 FLOAT(8) -/+1.7976931348623157E+308 -/+2.2250738585072014E-308 Vielleicht hilft dir dies ja schon etwas. Gruss, Ralf -- _____________________________________________ In-Greece.de - die Griechenlandcommunity _________ http://www.in-greece.de/ __________ -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive