मारियाडीबी में, UNCOMPRESS()
एक अंतर्निहित फ़ंक्शन है जो COMPRESS()
द्वारा संपीड़ित स्ट्रिंग को असम्पीडित करता है समारोह।
सिंटैक्स
वाक्य रचना इस प्रकार है:
UNCOMPRESS(string_to_uncompress)
जहां string_to_uncompress
वह स्ट्रिंग है जिसे आप असम्पीडित करना चाहते हैं।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT UNCOMPRESS(COMPRESS('Marching on'));
परिणाम:
+-------------------------------------+ | UNCOMPRESS(COMPRESS('Marching on')) | +-------------------------------------+ | Marching on | +-------------------------------------+
आकार की जांच करना
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT
LENGTH(REPEAT('z', 50)) AS "Uncompressed",
LENGTH(COMPRESS(REPEAT('z', 50))) AS "Compressed",
LENGTH(UNCOMPRESS(COMPRESS(REPEAT('z', 50)))) AS "Uncompressed";
परिणाम:
+--------------+------------+--------------+ | Uncompressed | Compressed | Uncompressed | +--------------+------------+--------------+ | 50 | 16 | 50 | +--------------+------------+--------------+
यहाँ, मैंने LENGTH()
. का उपयोग किया है क्रमशः असम्पीडित और संपीड़ित तारों के बाइट्स में लंबाई प्राप्त करने के लिए कार्य करें। मैंने REPEAT()
. का उपयोग किया है एक ही अक्षर को संपीड़ित करने से पहले 50 बार दोहराने का कार्य करता है।
यहां एक और उदाहरण दिया गया है जो कॉपीराइट प्रतीक का उपयोग करता है (©
), जो एक टू-बाइट कैरेक्टर है:
SELECT
LENGTH(REPEAT('©', 50)) AS "Uncompressed",
LENGTH(COMPRESS(REPEAT('©', 50))) AS "Compressed",
LENGTH(UNCOMPRESS(COMPRESS(REPEAT('©', 50)))) AS "Uncompressed";
परिणाम:
+--------------+------------+--------------+ | Uncompressed | Compressed | Uncompressed | +--------------+------------+--------------+ | 100 | 17 | 100 | +--------------+------------+--------------+
यहां एक तीन-बाइट वर्ण का उपयोग किया गया है:
SELECT
LENGTH(REPEAT('อ', 50)) AS "Uncompressed",
LENGTH(COMPRESS(REPEAT('อ', 50))) AS "Compressed",
LENGTH(UNCOMPRESS(COMPRESS(REPEAT('อ', 50)))) AS "Uncompressed";
परिणाम:
+--------------+------------+--------------+ | Uncompressed | Compressed | Uncompressed | +--------------+------------+--------------+ | 150 | 18 | 150 | +--------------+------------+--------------+
अशक्त तर्क
पासिंग null
रिटर्न null
:
SELECT UNCOMPRESS(null);
परिणाम:
+------------------+ | UNCOMPRESS(null) | +------------------+ | NULL | +------------------+
अनुपलब्ध तर्क
कॉल करना UNCOMPRESS()
तर्कों की गलत संख्या के साथ, या बिना कोई तर्क पारित किए त्रुटि उत्पन्न होती है:
SELECT UNCOMPRESS();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'UNCOMPRESS'
संपीड़न की जांच करें
UNCOMPRESS()
फ़ंक्शन की आवश्यकता है कि मारियाडीबी को एक संपीड़न पुस्तकालय जैसे कि zlib के साथ संकलित किया गया हो। यदि मारियाडीबी को ऐसी कम्प्रेशन लाइब्रेरी के साथ संकलित नहीं किया गया है, तो UNCOMPRESS()
रिटर्न null
।
आप have_compress
. की जांच कर सकते हैं सिस्टम चर यह देखने के लिए कि क्या zlib संपीड़न पुस्तकालय सर्वर के लिए सुलभ है या नहीं:
SELECT @@have_compress;
परिणाम:
+-----------------+ | @@have_compress | +-----------------+ | YES | +-----------------+
इस मामले में, zlib संपीड़न पुस्तकालय सर्वर के लिए सुलभ है, और परिणाम YES
. है .
यदि zlib कम्प्रेशन लाइब्रेरी सर्वर तक पहुँच योग्य नहीं है, तो परिणाम NO
. होगा ।