MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách thức hoạt động của FORMAT () trong MariaDB

Trong MariaDB, FORMAT() là một hàm chuỗi tích hợp để định dạng và trả về số đã cho dưới dạng một chuỗi.

Nó yêu cầu hai đối số và chấp nhận một đối số thứ ba tùy chọn. Đầu tiên là số bạn muốn định dạng, thứ hai là vị trí thập phân và thứ ba (tùy chọn) là ngôn ngữ.

Cú pháp

Cú pháp như sau:

FORMAT(num, decimal_position[, locale])

Ở đâu num là số, decimal_position là số vị trí thập phân để làm tròn số và locale là một ngôn ngữ tùy chọn để sử dụng để định dạng số (các ngôn ngữ khác nhau sử dụng các quy ước khác nhau để định dạng số).

Ví dụ

Đây là một ví dụ cơ bản:

SELECT FORMAT(1234.5678, 2);

Kết quả:

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

Đây, FORMAT() đã thêm dấu phẩy cho dấu phân cách hàng nghìn. Nó cũng làm tròn số thành hai chữ số thập phân (vì tôi đã chỉ định 2 làm đối số thứ hai).

Xóa phần phân số

Để xóa phần phân số (và dấu thập phân liên quan của nó), hãy sử dụng 0 (không) làm đối số thứ hai:

SELECT FORMAT(1234.5678, 0);

Kết quả:

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

Thêm vị trí thập phân

Nếu đối số thứ hai là một số cao hơn số vị trí thập phân trong đối số đầu tiên, các số không sẽ được thêm vào kết quả để nó phản ánh số vị trí thập phân mong muốn:

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

Kết quả:

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

Chỉ định một ngôn ngữ

Bạn có thể tùy chọn chuyển đối số thứ ba để chỉ định ngôn ngữ sử dụng cho định dạng.

Ví dụ:

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";

Kết quả:

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

Đối số không phải dạng số

FORMAT() chỉ định dạng số. Ví dụ:cung cấp một chuỗi cho kết quả là 0 được trả lại. Tuy nhiên, nó vẫn được định dạng thành vị trí thập phân được chỉ định:

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

Kết quả:

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

Đối số rỗng

Cung cấp null vì một trong hai đối số đầu tiên dẫn đến null :

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

Kết quả:

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

Nhưng chuyển null vì đối số thứ ba không ảnh hưởng đến kết quả:

SELECT FORMAT(25, 2, null);

Kết quả:

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

Chỉ đưa ra một lập luận

Việc cung cấp một đối số duy nhất dẫn đến lỗi:

SELECT FORMAT(1234.56);

Kết quả:

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

Không đưa ra tranh luận

Đang gọi FORMAT() mà không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT FORMAT();

Kết quả:

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. Chạy một cụm MariaDB Galera mà không cần công cụ điều phối - Quản lý vùng chứa DB:Phần thứ hai

  2. Mười lời khuyên về cách đạt được bảo mật MySQL và MariaDB

  3. MariaDB JSON_CONTAINS_PATH () Giải thích

  4. Cách SIN () hoạt động trong MariaDB

  5. Cách cài đặt MariaDB trên Rocky Linux và AlmaLinux