MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa FORMAT() w MariaDB?

W MariaDB, FORMAT() to wbudowana funkcja łańcuchowa, która formatuje i zwraca podaną liczbę jako łańcuch.

Wymaga dwóch argumentów i akceptuje opcjonalny trzeci argument. Pierwsza to liczba, którą chcesz sformatować, druga to pozycja dziesiętna, a (opcjonalnie) trzecia to ustawienia regionalne.

Składnia

Składnia wygląda tak:

FORMAT(num, decimal_position[, locale])

Gdzie num to liczba, decimal_position to liczba miejsc dziesiętnych, do których należy zaokrąglić liczbę, oraz locale jest opcjonalnym ustawieniem narodowym używanym do formatowania liczby (różne ustawienia regionalne używają różnych konwencji do formatowania liczb).

Przykład

Oto podstawowy przykład:

SELECT FORMAT(1234.5678, 2);

Wynik:

+----------------------+
| FORMAT(1234.5678, 2) |
+----------------------+
| 1,234.57             |
+----------------------+

Tutaj, FORMAT() dodano przecinek dla separatora tysięcy. Zaokrąglił również liczbę do dwóch miejsc po przecinku (ponieważ jako drugi argument podałem 2).

Usuń część ułamkową

Aby usunąć część ułamkową (i związaną z nią kropkę dziesiętną), użyj 0 (zero) jako drugi argument:

SELECT FORMAT(1234.5678, 0);

Wynik:

+----------------------+
| FORMAT(1234.5678, 0) |
+----------------------+
| 1,235                |
+----------------------+

Dodawanie miejsc dziesiętnych

Jeśli drugi argument jest liczbą większą niż liczba miejsc dziesiętnych w pierwszym argumencie, do wyniku dodawane są zera, tak aby odzwierciedlał żądaną liczbę miejsc dziesiętnych:

SELECT 
    FORMAT(1234, 2),
    FORMAT(1234.56, 4),
    FORMAT(1234.56, 8);

Wynik:

+-----------------+--------------------+--------------------+
| FORMAT(1234, 2) | FORMAT(1234.56, 4) | FORMAT(1234.56, 8) |
+-----------------+--------------------+--------------------+
| 1,234.00        | 1,234.5600         | 1,234.56000000     |
+-----------------+--------------------+--------------------+

Określ ustawienia regionalne

Możesz opcjonalnie przekazać trzeci argument, aby określić ustawienia regionalne używane do formatowania.

Przykład:

SELECT 
    FORMAT(1234567.8912, 2, 'da_DK') AS "da_DK",
    FORMAT(1234567.8912, 2, 'rm_CH') AS "rm_CH",
    FORMAT(1234567.8912, 2, 'es_BO') AS "es_BO",
    FORMAT(1234567.8912, 2, 'ar_SA') AS "ar_SA";

Wynik:

+--------------+--------------+------------+------------+
| da_DK        | rm_CH        | es_BO      | ar_SA      |
+--------------+--------------+------------+------------+
| 1.234.567,89 | 1'234'567,89 | 1234567,89 | 1234567.89 |
+--------------+--------------+------------+------------+

Argumenty nieliczbowe

FORMAT() tylko formatuje liczby. Dostarczenie ciągu, na przykład, daje w wyniku 0 zostanie zwrócony. Jednak nadal jest sformatowany do określonego miejsca dziesiętnego:

SELECT 
    FORMAT("Twenty five", 0),
    FORMAT("Twenty five", 2),
    FORMAT("Twenty five", 4);

Wynik:

+--------------------------+--------------------------+--------------------------+
| FORMAT("Twenty five", 0) | FORMAT("Twenty five", 2) | FORMAT("Twenty five", 4) |
+--------------------------+--------------------------+--------------------------+
| 0                        | 0.00                     | 0.0000                   |
+--------------------------+--------------------------+--------------------------+

Argumenty zerowe

Podanie null ponieważ jeden z pierwszych dwóch argumentów daje wynik null :

SELECT 
    FORMAT(null, 2),
    FORMAT(25, null);

Wynik:

+-----------------+------------------+
| FORMAT(null, 2) | FORMAT(25, null) |
+-----------------+------------------+
| NULL            | NULL             |
+-----------------+------------------+

Ale przekazanie null ponieważ trzeci argument nie wpływa na wynik:

SELECT FORMAT(25, 2, null);

Wynik:

+---------------------+
| FORMAT(25, 2, null) |
+---------------------+
| 25.00               |
+---------------------+

Podawanie tylko jednego argumentu

Podanie pojedynczego argumentu skutkuje błędem:

SELECT FORMAT(1234.56);

Wynik:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

Nie dostarczaj żadnych argumentów

Wywołanie FORMAT() bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT FORMAT();

Wynik:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa LTRIM_ORACLE() w MariaDB

  2. Równoważenie obciążenia bazy danych z ProxySQL i AWS Aurora

  3. Jak HOUR() działa w MariaDB

  4. Jak korzystać z mechanizmu przełączania awaryjnego MaxScale

  5. Pierwsze kroki z ProxySQL — samouczek dotyczący równoważenia obciążenia MySQL i MariaDB