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

Cách UNCOMPRESS () hoạt động trong MariaDB

Trong MariaDB, UNCOMPRESS() là một hàm tích hợp giúp giải nén một chuỗi được nén bởi COMPRESS() chức năng.

Cú pháp

Cú pháp như sau:

UNCOMPRESS(string_to_uncompress)

Nơi string_to_uncompress là chuỗi bạn muốn giải nén.

Ví dụ

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

SELECT UNCOMPRESS(COMPRESS('Marching on'));

Kết quả:

+-------------------------------------+
| UNCOMPRESS(COMPRESS('Marching on')) |
+-------------------------------------+
| Marching on                         |
+-------------------------------------+

Kiểm tra kích thước

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

SELECT
    LENGTH(REPEAT('z', 50)) AS "Uncompressed",
    LENGTH(COMPRESS(REPEAT('z', 50))) AS "Compressed",
    LENGTH(UNCOMPRESS(COMPRESS(REPEAT('z', 50)))) AS "Uncompressed";

Kết quả:

+--------------+------------+--------------+
| Uncompressed | Compressed | Uncompressed |
+--------------+------------+--------------+
|           50 |         16 |           50 |
+--------------+------------+--------------+

Ở đây, tôi đã sử dụng LENGTH() hàm để lấy độ dài tính bằng byte của các chuỗi không nén và nén tương ứng. Tôi đã sử dụng REPEAT() chức năng lặp lại cùng một chữ cái 50 lần trước khi nén nó.

Đây là một ví dụ khác sử dụng biểu tượng bản quyền (© ), là một ký tự hai byte:

SELECT
    LENGTH(REPEAT('©', 50)) AS "Uncompressed",
    LENGTH(COMPRESS(REPEAT('©', 50))) AS "Compressed",
    LENGTH(UNCOMPRESS(COMPRESS(REPEAT('©', 50)))) AS "Uncompressed";

Kết quả:

+--------------+------------+--------------+
| Uncompressed | Compressed | Uncompressed |
+--------------+------------+--------------+
|          100 |         17 |          100 |
+--------------+------------+--------------+

Đây là một trong những sử dụng ký tự 3 byte:

SELECT
    LENGTH(REPEAT('อ', 50)) AS "Uncompressed",
    LENGTH(COMPRESS(REPEAT('อ', 50))) AS "Compressed",
    LENGTH(UNCOMPRESS(COMPRESS(REPEAT('อ', 50)))) AS "Uncompressed";

Kết quả:

+--------------+------------+--------------+
| Uncompressed | Compressed | Uncompressed |
+--------------+------------+--------------+
|          150 |         18 |          150 |
+--------------+------------+--------------+

Đối số rỗng

Chuyển null trả về null :

SELECT UNCOMPRESS(null);

Kết quả:

+------------------+
| UNCOMPRESS(null) |
+------------------+
| NULL             |
+------------------+

Thiếu đối số

Đang gọi UNCOMPRESS() với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào dẫn đến lỗi:

SELECT UNCOMPRESS();

Kết quả:

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

Kiểm tra nén

UNCOMPRESS() hàm yêu cầu MariaDB phải được biên dịch với một thư viện nén như zlib. Nếu MariaDB chưa được biên dịch với thư viện nén như vậy, UNCOMPRESS() trả về null .

Bạn có thể kiểm tra have_compress biến hệ thống để xem liệu máy chủ có truy cập được thư viện nén zlib hay không:

SELECT @@have_compress;

Kết quả:

+-----------------+
| @@have_compress |
+-----------------+
| YES             |
+-----------------+

Trong trường hợp này, máy chủ có thể truy cập thư viện nén zlib và kết quả là YES .

Nếu máy chủ không thể truy cập thư viện nén zlib, kết quả sẽ là NO .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 cách để lấy đối chiếu cơ sở dữ liệu trong MariaDB

  2. Cách kết nối các chương trình C ++ với MariaDB

  3. Cách LTRIM_ORACLE () hoạt động trong MariaDB

  4. Tổng quan về MariaDB Xpand (trước đây là ClustrixDB)

  5. Cách TIMEDIFF () hoạt động trong MariaDB