sql >> Databasteknik >  >> RDS >> Mysql

Ta bort efterföljande nollor i decimalvärdet med ändrad längd

Det enklaste sättet, lägg bara till noll!

Exempel:

SET 
    @yournumber1="1.500", 
    @yournumber2="23.030",
    @yournumber3="2.000",
    @yournumber4="4.450"
;

SELECT 
    (@yournumber1+0),
    (@yournumber2+0),
    (@yournumber3+0),
    (@yournumber4+0)
;

+------------------+------------------+------------------+------------------+
| (@yournumber1+0) | (@yournumber2+0) | (@yournumber3+0) | (@yournumber4+0) |
+------------------+------------------+------------------+------------------+
|              1.5 |            23.03 |                2 |             4.45 |
+------------------+------------------+------------------+------------------+
1 row in set (0.00 sec)

Om kolumnen ditt värde kommer från är DECIMAL eller NUMERIC typ, casta den sedan till strängen först för att se till att konverteringen äger rum...ex:

SELECT (CAST(`column_name` AS CHAR)+0) FROM `table_name`;

För en kortare väg, använd bara valfri inbyggd strängfunktion för att göra casten:

SELECT TRIM(`column_name`)+0 FROM `table_name`;


  1. PgBouncer 1.7 – "Färger varierar efter uppståndelse"

  2. MySQL var INTE I namnmatrisen?

  3. Oracle:Java lagrad procedur som skickar JMS-meddelande

  4. MySQL lägger till dagar till ett datum