Mysql
 sql >> Database >  >> RDS >> Mysql

Come formattare i numeri come valuta in MySQL

Alcuni DBMS ci offrono la possibilità di formattare un numero come valuta fornendo uno specificatore di formato per il simbolo di valuta. Fornire un tale identificatore di formato consente al DBMS di restituire il simbolo di valuta appropriato per la locale.

MySQL non ha uno specificatore di formato valuta, quindi dobbiamo fare un po' di lavoro extra se vogliamo che il simbolo di valuta venga restituito.

Esempio

Ecco un esempio di restituzione di un numero come valuta in MySQL:

SELECT CONCAT('$', FORMAT(1234.5678, 2));

Risultato:

$1,234.57

Qui, abbiamo usato il CONCAT() funzione per concatenare il simbolo della valuta e il numero. Abbiamo anche usato il FORMAT() funzione per formattare il numero nel formato desiderato.

Specifica una lingua

Il FORMAT() La funzione accetta un terzo argomento facoltativo per la locale. Ciò ti consente di formattare il numero utilizzando la locale specificata.

Esempio:

SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));

Risultato:

€1.234,57

In questo caso, il nostro simbolo di valuta è il simbolo dell'Euro ( ) invece del simbolo del dollaro e abbiamo specificato che il numero deve essere formattato utilizzando le convenzioni di numerazione tedesche, che utilizzano un punto per il separatore di gruppo e una virgola per il punto decimale.

Formattazione nell'applicazione rispetto al database

Di solito è consigliabile che la formattazione della valuta, ecc. avvenga a livello di applicazione, piuttosto che a livello di database. Gli ambienti di programmazione delle applicazioni in genere hanno capacità di formattazione migliori rispetto ai DBMS e di solito è meglio avere dati non formattati restituiti dal DB, in modo che l'applicazione possa iniziare con una lavagna pulita e formattarla secondo necessità.

Detto questo, a volte la situazione richiede una formattazione a livello di database, nel qual caso le tecniche di cui sopra possono tornare utili.