Diese nicht in Mysql erlaubt ist:Mysql wählen Doppel Konstante
SELECT CAST(0 as DOUBLE) as ZERO
Wie kann ich es tun?
Diese nicht in Mysql erlaubt ist:Mysql wählen Doppel Konstante
SELECT CAST(0 as DOUBLE) as ZERO
Wie kann ich es tun?
Ein Kollege fand die Antwort:
SELECT 0.0 + '0' as ZERO
funktioniert der Trick. NICHT verdoppeln dezimal
Ich glaube, Sie schauen, um DECIMAL
zu werfen, nicht DOUBLE
. Hier ist die offizielle Dokumentation mit einer Liste von Typen: http://dev.mysql.com/doc/refman/5.6/en/cast-functions.html#function_cast
Wenn CAST
verwenden, kann der Typ sein, eine der folgenden Möglichkeiten:
BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL[(M[,D])] SIGNED [INTEGER] TIME UNSIGNED [INTEGER]
So würde Ihr Beispiel sein:
SELECT CAST(0 as DECIMAL) as ZERO
Sie können Geben Sie optional die zulässige Genauigkeit an, z. B .:
SELECT CAST(0 as DECIMAL(18,8)) as ZERO
Referenz: http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html
I Allways dezimale verwendet, in der Dokumentation: „Die maximale Reichweite der dezimalen Werte ist dieselbe wie für DOUBLE“
so tun, um eine SELECT Besetzung (0 als Dezimalzahl) als Null ist;
Sie es nicht können, werden die Typen, die Sie hier dokumentiert gegossen werden können: MySQl Docs - Cast Functions
Wenn Sie beschreiben genauer, was Sie archivieren möchten wäre es einfacher für uns zu beantworten.
er zurückkehrt. –
@NadeemJamali: gerade versucht es noch einmal und es gibt ein Doppel zurück. Vielleicht ist das meine Version von mysql v5.1.45 mit MyISAM –