मारियाडीबी में, FORMAT()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो दिए गए नंबर को एक स्ट्रिंग के रूप में स्वरूपित और लौटाता है।
इसके लिए दो तर्कों की आवश्यकता है, और एक वैकल्पिक तीसरा तर्क स्वीकार करता है। पहला वह नंबर है जिसे आप प्रारूपित करना चाहते हैं, दूसरा दशमलव स्थान है, और (वैकल्पिक) तीसरा स्थान है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
FORMAT(num, decimal_position[, locale])
जहां num
संख्या है, decimal_position
संख्या को गोल करने के लिए दशमलव स्थानों की संख्या है, और locale
संख्या को स्वरूपित करने के लिए उपयोग करने के लिए एक वैकल्पिक स्थान है (विभिन्न स्थान संख्या स्वरूपण के लिए विभिन्न सम्मेलनों का उपयोग करते हैं)।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT FORMAT(1234.5678, 2);
परिणाम:
+----------------------+ | FORMAT(1234.5678, 2) | +----------------------+ | 1,234.57 | +----------------------+
यहां, FORMAT()
हजारों विभाजक के लिए अल्पविराम जोड़ा। इसने संख्या को दो दशमलव स्थानों पर भी गोल किया (क्योंकि मैंने दूसरे तर्क के रूप में 2 निर्दिष्ट किया था)।
आंशिक भाग हटाएं
भिन्नात्मक भाग (और उससे जुड़े दशमलव बिंदु) को हटाने के लिए, 0
. का उपयोग करें (शून्य) दूसरे तर्क के रूप में:
SELECT FORMAT(1234.5678, 0);
परिणाम:
+----------------------+ | FORMAT(1234.5678, 0) | +----------------------+ | 1,235 | +----------------------+
दशमलव स्थान जोड़ना
यदि दूसरा तर्क पहले तर्क में दशमलव स्थानों की संख्या से अधिक संख्या है, तो परिणाम में शून्य जोड़ दिए जाते हैं, ताकि यह दशमलव स्थानों की वांछित संख्या को प्रतिबिंबित करे:
SELECT
FORMAT(1234, 2),
FORMAT(1234.56, 4),
FORMAT(1234.56, 8);
परिणाम:
+-----------------+--------------------+--------------------+ | FORMAT(1234, 2) | FORMAT(1234.56, 4) | FORMAT(1234.56, 8) | +-----------------+--------------------+--------------------+ | 1,234.00 | 1,234.5600 | 1,234.56000000 | +-----------------+--------------------+--------------------+
लोकेल निर्दिष्ट करें
फ़ॉर्मेटिंग के लिए उपयोग की जाने वाली लोकेल को निर्दिष्ट करने के लिए आप वैकल्पिक रूप से तीसरा तर्क पास कर सकते हैं।
उदाहरण:
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";
परिणाम:
+--------------+--------------+------------+------------+ | da_DK | rm_CH | es_BO | ar_SA | +--------------+--------------+------------+------------+ | 1.234.567,89 | 1'234'567,89 | 1234567,89 | 1234567.89 | +--------------+--------------+------------+------------+
गैर-संख्यात्मक तर्क
FORMAT()
केवल प्रारूप संख्या। उदाहरण के लिए, एक स्ट्रिंग प्रदान करना 0
. में परिणाम देता है वापस किया जा रहा है। हालांकि, यह अभी भी निर्दिष्ट दशमलव स्थान पर स्वरूपित है:
SELECT
FORMAT("Twenty five", 0),
FORMAT("Twenty five", 2),
FORMAT("Twenty five", 4);
परिणाम:
+--------------------------+--------------------------+--------------------------+ | FORMAT("Twenty five", 0) | FORMAT("Twenty five", 2) | FORMAT("Twenty five", 4) | +--------------------------+--------------------------+--------------------------+ | 0 | 0.00 | 0.0000 | +--------------------------+--------------------------+--------------------------+
अशक्त तर्क
null
प्रदान करना जैसा कि पहले दो तर्कों में से कोई एक null
. में परिणत होता है :
SELECT
FORMAT(null, 2),
FORMAT(25, null);
परिणाम:
+-----------------+------------------+ | FORMAT(null, 2) | FORMAT(25, null) | +-----------------+------------------+ | NULL | NULL | +-----------------+------------------+
लेकिन पासिंग null
क्योंकि तीसरा तर्क परिणाम को प्रभावित नहीं करता है:
SELECT FORMAT(25, 2, null);
परिणाम:
+---------------------+ | FORMAT(25, 2, null) | +---------------------+ | 25.00 | +---------------------+
सिर्फ एक तर्क देना
एकल तर्क देने से त्रुटि होती है:
SELECT FORMAT(1234.56);
परिणाम:
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पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।
कोई तर्क नहीं देना
कॉलिंग FORMAT()
कोई तर्क पारित किए बिना त्रुटि उत्पन्न होती है:
SELECT FORMAT();
परिणाम:
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पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।