Select AS bestimmten Datentyp zuweisen?

MasterJM

Erfahrenes Mitglied
Tag,

habe zwar schon etwas gesucht, aber benutze wohl die falschen Begriffe.

Folgendes:
Ich habe eine SQL Datenbank. Aus drei Spalten berechne ich einen neuen Wert so:
(`Effektivitaet` / (`Preis` + `Stellplatzpreis`)) AS `Attraktivitaet`
Die drei Spalten sind jeweils vom Datentyp Smallint.
Das Ergebnis wird mir angezeigt als Kommazahl mit zwei Dezimalstellen.
Wie kann ich das ändern? Z.B. 4 Stellen.
Sprich wie kann ich dem Ergebnis einen Datentyp zuweisen?

Thx
 
Hallo,

welches DBMS? Wenn mysql -> format(...) http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html
Damit änderst du den Ergebnistyp in einen String der dem angegeben Format entspricht.

Gruß Tom

mySQL 4.

Das mit dem Format verstehe ich nicht ganz. Ich möchte keinen String, sondern ein Float mit 4 Stellen z.B.
Der Code daoben ist schon direkt aus dem Select, quasi:
Select (`Effektivitaet` / (`Preis` + `Stellplatzpreis`)) AS `Attraktivitaet` FROM `tab` ...
Und `Attraktivitaet` soll nun nicht 0,25 - sondern als 0,2498 angezeigt werden.

Gruss

EDIT: hab was gefunden:
(1.00 * `Effektivitaet` / (`Preis` + `Stellplatzpreis`)) AS `Attraktivitaet`
funktioniert jedenfalls - ist das okay oder sollte man lieber was anderes nutzen?
Sind jetzt nicht viele Zeilen ~50 nur.
 
Zuletzt bearbeitet:
Hallo,

mein MySQL 5.0.x gibt Fließkommawerte per default mit 4 Stellen nach dem Komma an:
SQL:
mysql> select 1/7;
+--------+
| 1/7    |
+--------+
| 0.1429 |
+--------+
1 row in set (0.00 sec)

Schau dir doch mal die cast(...) Funktion an.

Gruß Tom
 
Zurück