W MySQL funkcja FORMAT()
funkcja zwraca liczbę sformatowaną do określonej liczby miejsc po przecinku.
Zawiera separatory grup i separator dziesiętny w stosownych przypadkach.
Składnia
Składnia wygląda tak:
FORMAT(X,D[,locale])
Gdzie:
X
to numer do sformatowania.D
to liczba miejsc dziesiętnych, do których chcesz zaokrąglić liczbę.locale
jest opcjonalnym argumentem, który określa konwencje formatowania ustawień regionalnych do użycia.
Przykład
Oto przykład do zademonstrowania:
SELECT FORMAT(123456.789, 2);
Wynik:
123,456.79
Tutaj liczba została zaokrąglona do dwóch miejsc po przecinku (ponieważ określiłem 2
jako drugi argument). W tym przypadku część dziesiętna została zaokrąglona w górę.
Liczba otrzymała również przecinek jako separator grupy oraz kropkę/kropkę jako separator dziesiętny .
Usuń część ułamkową
Możesz użyć 0
jako drugi argument do usunięcia części ułamkowej:
SELECT FORMAT(123456.789, 0);
Wynik:
123,457
Dodaj miejsca dziesiętne
Możesz dodać miejsca dziesiętne, używając drugiego argumentu, który jest liczbą większą niż liczba miejsc dziesiętnych w liczbie do sformatowania:
SELECT FORMAT(123456.789, 6);
Wynik:
123,456.789000
Można to wykorzystać do dodania części ułamkowej do liczb całkowitych:
SELECT FORMAT(123456, 2);
Wynik:
123,456.00
Liczby ujemne
Funkcja działa równie dobrze na liczbach ujemnych:
SELECT FORMAT(-123456.789, 2);
Wynik:
-123,456.79
Lokal
Oto przykład pokazujący, jak działa trzeci argument:
SELECT FORMAT(123456.789, 2, 'de_DE');
Wynik:
123.456,79
W tym przykładzie określiłem, że lokalizacja to de_DE
, czyli w języku niemieckim. Konwencje formatowania narzucają zatem, że przecinek jest używany jako separator dziesiętny , a kropka/kropka jest używana jako separator tysięcy.
Trzeci argument może być dowolną wartością obsługiwaną przez lc_time_names
zmienna systemowa.