MariaDB ha il FORMAT()
funzione, che formatta un numero in base alla stringa di formato data.
Restituisce il numero come stringa formattata, con migliaia e separatori decimali nella posizione appropriata e arrotonda il risultato alla posizione decimale specificata.
È possibile facoltativamente specificare un valore locale per formattare i numeri in base al modello appropriato per la regione specificata.
Esempio
Ecco un esempio da dimostrare:
SELECT FORMAT(123456.789, 2);
Risultato:
123,456.79
In questo caso ho specificato 2
per il secondo argomento, quindi il numero è stato arrotondato a due cifre decimali.
Inoltre, è stata inserita una virgola per il separatore delle migliaia ed è stato utilizzato un punto/punto punto per il separatore decimale.
Ecco un altro esempio che utilizza valori diversi per il secondo argomento:
SELECT
FORMAT(123456.789, 0) AS "1",
FORMAT(123456.789, 4) AS "2",
FORMAT(123456.789, 6) AS "3";
Risultato:
+---------+--------------+----------------+ | 1 | 2 | 3 | +---------+--------------+----------------+ | 123,457 | 123,456.7890 | 123,456.789000 | +---------+--------------+----------------+
Specifica una lingua
Di seguito sono riportati alcuni esempi di specifica della locale:
SELECT
FORMAT(123456.789, 2, 'ta_IN') AS "Tamil, India",
FORMAT(123456.789, 2, 'de_DE') AS "German, Germany",
FORMAT(123456.789, 2, 'zh_HK') AS "Chinese, Hong Kong";
Risultato:
+--------------+-----------------+--------------------+ | Tamil, India | German, Germany | Chinese, Hong Kong | +--------------+-----------------+--------------------+ | 1,23,456.79 | 123.456,79 | 123,456.79 | +--------------+-----------------+--------------------+
Vedi Come mostrare tutte le localizzazioni in MariaDB per ottenere un elenco delle localizzazioni che possono essere specificate con questa funzione.
Formattazione come valuta
Il FORMAT()
la funzione non fornisce i mezzi per formattare il numero come valuta. Tuttavia, puoi usare CONCAT()
funzione per concatenare i risultati con il simbolo della valuta a tua scelta:
SELECT CONCAT('$', FORMAT(8790.2398, 2));
Risultato:
$8,790.24
Ciò ovviamente richiede che tu specifichi il simbolo di valuta corretto per la locale in uso.