MySQL Forums
Forum List  »  German

Alle FLOAT Spalten einer Datenbank ändern
Posted by: R. Reiterer
Date: May 26, 2011 04:10PM

Geehrte Foren Veteranen,

in meiner Datenbank habe ich mehrere FLOAT Spalten (über verschiedene Tabellen verstreut). Nun schreibe ich aber an einem HTML/PHP Suchformular und benötige dazu einige Vergleichsoperatoren (<=, >=, BETWEEN). Scheinbar gibt es bei FLOAT damit allerdings Probleme wie folgendes Beispiel zeigt:

create operatoren;

use operatoren;

create table tabelle_a
(
id int unsigned not null auto_increment primary key,
wert_a float unsigned not null
) engine = InnoDB;

create table tabelle_b
(
id int unsigned not null auto_increment primary key,
wert_b float unsigned not null
) engine = InnoDB;

insert into tabelle_a values
('', '13.75'),
('', '12'),
('', '14.3'),
('', '11');

insert into tabelle_b values
('', '6.0'), -- Die Null wird in dieser Spalte traditionell angegeben
('', '7.2'),
('', '6.5'),
('', '5.0');

select tabelle_a.*, tabelle_b.wert_b
from tabelle_a
join tabelle_b
on tabelle_a.id = tabelle_b.id
where tabelle_a.wert_a <= 12
and tabelle_b.wert_b >= 7.1;

+----+--------+--------+
| id | wert_a | wert_b |
+----+--------+--------+
| 2 | 12 | 7.2 |
+----+--------+--------+

select tabelle_a.*, tabelle_b.wert_b
from tabelle_a
join tabelle_b
on tabelle_a.id = tabelle_b.id
where tabelle_a.wert_a <= 12
and tabelle_b.wert_b >= 7.2;

Empty set (0.00 sec)

Ich möchte daher alle FLOAT Spalten ändern. Welches Format bietet sich an? Ich habe maximal zwei Nachkommastellen. Ist dies mit einem Schritt möglich oder müssen alle Spalten separat geändert werden? Die bereits eingetragenen Werte in den Spalten sollen sich nicht verändern.



Edited 1 time(s). Last edit at 05/26/2011 04:44PM by R. Reiterer.

Options: ReplyQuote


Subject
Views
Written By
Posted
Alle FLOAT Spalten einer Datenbank ändern
3870
May 26, 2011 04:10PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.