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

FORMAT() Esempi in MySQL

In MySQL, il FORMAT() la funzione restituisce un numero formattato con un numero specificato di cifre decimali.

Include separatori di gruppo e un separatore se applicabile.

Sintassi

La sintassi è questa:

FORMAT(X,D[,locale])

Dove:

  • X è il numero da formattare.
  • D è il numero di cifre decimali a cui vuoi arrotondare il numero.
  • locale è un argomento facoltativo che specifica le convenzioni di formattazione della locale da utilizzare.

Esempio

Ecco un esempio da dimostrare:

SELECT FORMAT(123456.789, 2);

Risultato:

123,456.79

Qui, il numero è stato arrotondato a due cifre decimali (perché ho specificato 2 come secondo argomento). In questo caso, la parte decimale è stata arrotondata per eccesso.

Il numero ha anche una virgola come separatore di gruppo e un punto/punto come separatore decimale .

Rimuovi la parte frazionaria

Puoi usare 0 come secondo argomento per rimuovere qualsiasi parte frazionaria:

SELECT FORMAT(123456.789, 0);

Risultato:

123,457

Aggiungi posizioni decimali

Puoi aggiungere posizioni decimali utilizzando un secondo argomento che sia un numero maggiore del numero di posizioni decimali nel numero da formattare:

SELECT FORMAT(123456.789, 6);

Risultato:

123,456.789000

Questo può essere utilizzato per aggiungere una parte frazionaria a numeri interi:

SELECT FORMAT(123456, 2);

Risultato:

123,456.00

Numeri negativi

La funzione funziona altrettanto bene sui numeri negativi:

SELECT FORMAT(-123456.789, 2);

Risultato:

-123,456.79

Locale

Ecco un esempio per dimostrare come funziona il terzo argomento:

SELECT FORMAT(123456.789, 2, 'de_DE');

Risultato:

123,456.79

In questo esempio, ho specificato che la locale è de_DE , che è per il tedesco. Le convenzioni di formattazione impongono quindi che la virgola venga utilizzata per il separatore decimale e il punto/punto sia utilizzato per il separatore delle migliaia.

Il terzo argomento può essere uno qualsiasi dei valori supportati da lc_time_names variabile di sistema.