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

MariaDB JSON_COMPACT () Giải thích

Trong MariaDB, JSON_COMPACT() là một chức năng được tích hợp sẵn để loại bỏ tất cả các khoảng trắng không cần thiết khỏi tài liệu JSON, sao cho tài liệu đó ngắn và gọn nhất có thể và trả về kết quả.

Điều này có thể hữu ích khi bạn cần lưu trữ dữ liệu JSON trong cột cơ sở dữ liệu và bạn không muốn tài liệu JSON sử dụng nhiều dung lượng hơn mức cần thiết.

Đối với tác dụng ngược lại (tức là để kiểm tra tài liệu JSON bằng cách thêm thụt lề và dàn trải nó trên nhiều dòng), hãy sử dụng JSON_DETAILED() chức năng.

Cú pháp

Cú pháp như sau:

JSON_COMPACT(json_doc)

Ở đâu json_doc là tài liệu JSON.

Ví dụ

Đây là một ví dụ để chứng minh.

SET @json_document = '{"a": [0, 1], "b": [2, 3]}';

SELECT 
    JSON_COMPACT(@json_document) AS Compact,
    @json_document AS Original;

Kết quả:

+-----------------------+----------------------------+
| Compact               | Original                   |
+-----------------------+----------------------------+
| {"a":[0,1],"b":[2,3]} | {"a": [0, 1], "b": [2, 3]} |
+-----------------------+----------------------------+

Trong trường hợp này, cột đầu tiên chứa phiên bản nén và cột thứ hai chứa tài liệu JSON gốc trước khi nó được nén.

Tài liệu JSON lớn hơn

Dưới đây là một ví dụ với tài liệu JSON lớn hơn một chút, đã được kiểm chứng.

SET @json_document = '{ 
        "_id" : 1, 
        "name" : "Wag", 
        "details" : {
            "type" : "Dog", 
            "weight" : 20,
            "awards" : { 
                "Florida Dog Awards" : "Top Dog", 
                "New York Marathon" : "Fastest Dog", 
                "Sumo 2020" : "Biggest Dog"
            }
        }
    }';
SELECT JSON_COMPACT(@json_document);

Kết quả:

{"_id":1,"name":"Wag","details":{"type":"Dog","weight":20,"awards":{"Florida Dog Awards":"Top Dog","New York Marathon":"Fastest Dog","Sumo 2020":"Biggest Dog"}}}

Đối số rỗng

Nếu đối số là NULL , kết quả là NULL :

SELECT JSON_COMPACT(null);

Kết quả:

+--------------------+
| JSON_COMPACT(null) |
+--------------------+
| NULL               |
+--------------------+

Đếm tham số không chính xác

Không cung cấp đối số dẫn đến lỗi:

SELECT JSON_COMPACT();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_COMPACT'

Chúng tôi nhận được cùng một kết quả nếu chúng tôi cung cấp quá nhiều đối số:

SELECT JSON_COMPACT('{ "a": 1}', '{ "b": 1 }');

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_COMPACT'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 bước đơn giản để bắt đầu với MariaDB và Tableau

  2. Cách cài đặt Lighttpd với PHP, MariaDB và PhpMyAdmin trong Ubuntu

  3. Làm thế nào để có được cuối tháng trong MariaDB

  4. Cách RLIKE hoạt động trong MariaDB

  5. Di chuyển cơ sở dữ liệu Azure cho MySQL / MariaDB sang máy chủ On-Prem