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:
Xto numer do sformatowania.Dto liczba miejsc dziesiętnych, do których chcesz zaokrąglić liczbę.localejest 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.