Ein SELECT Statement gibt den kompletten Wert aus, also z.B.
SET @num=20.5000;
SELECT @num;
--> 20.5000
Ein häufig vorkommender Anwendungsfall ist es, dass das Ergebnis ohne die hinteren Nullen geliefert werden soll. Das Abschneiden der Nullen kann entweder durch ein Weiterverarbeiten des Ergebnisses mit einer Programmiersprache auf dem Server (z.B. PHP) oder dem Client (z.B. Javascript) erfolgen oder direkt innerhalb MySQL mittels
SET @num=20.5000;
SELECT IF (
LOCATE ('.', @num) > 0,
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM @num)),
@num );
--> 20.5
Das Prüfen auf die Existenz des Decimal Point stellt sicher, dass bei ganzzahligen Werten die hinteren Nullen nicht abgeschnitten werden.
Vergleiche hierzu
SET @num=20;
-- Mit IF
SELECT IF (
LOCATE ('.', @num) > 0,
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM @num)),
@num );
--> 20
--
-- Ohne IF
SELECT TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM @num));
--> 2