Niektóre DBMS dają nam możliwość formatowania liczby jako waluty poprzez podanie specyfikatora formatu dla symbolu waluty. Dostarczenie takiego specyfikatora formatu pozwala DBMS na zwrócenie odpowiedniego symbolu waluty dla ustawień regionalnych.
MySQL nie ma specyfikatora formatu waluty, więc musimy wykonać trochę dodatkowej pracy, jeśli chcemy, aby symbol waluty został zwrócony.
Przykład
Oto przykład zwracania liczby jako waluty w MySQL:
SELECT CONCAT('$', FORMAT(1234.5678, 2));
Wynik:
$1,234.57
Tutaj użyliśmy CONCAT()
funkcja łączenia symbolu waluty i liczby. Użyliśmy również FORMAT()
funkcja formatowania liczby w żądanym formacie.
Określ ustawienia regionalne
FORMAT()
funkcja przyjmuje opcjonalny trzeci argument dla ustawień regionalnych. Pozwala to na sformatowanie numeru przy użyciu określonego języka.
Przykład:
SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));
Wynik:
€1.234,57
W tym przypadku naszym symbolem waluty jest symbol euro (€
).
Formatowanie w aplikacji a baza danych
Zwykle zaleca się, aby formatowanie walut itp. odbywało się na poziomie aplikacji, a nie na poziomie bazy danych. Środowiska programowania aplikacji zazwyczaj mają lepsze możliwości formatowania niż DBMS i zwykle lepiej jest mieć niesformatowane dane zwracane przez DB, aby aplikacja mogła rozpocząć się z czystym kontem i sformatować je w razie potrzeby.
To powiedziawszy, czasami sytuacja wymaga formatowania na poziomie bazy danych, w którym to przypadku powyższe techniki mogą się przydać.