मुझे नहीं पता कि इसे संग्रहीत करने का सबसे अच्छा तरीका क्या है - लेकिन इसका उपयोग करने की तुलना में कम से कम एक बेहतर विकल्प है varchar(39)
(या varchar(40)
यदि आपको इसकी आवश्यकता है तो हस्ताक्षर किए गए); इसके बजाय एक का उपयोग करें decimal(39,0)
। Mysql डॉक्स से :
फिक्स्ड-पॉइंट (सटीक-मूल्य) प्रकार
DECIMAL और NUMERIC प्रकार सटीक संख्यात्मक डेटा स्टोर करते हैं। इन प्रकारों का उपयोग तब किया जाता है जब सटीक सटीकता को संरक्षित करना महत्वपूर्ण होता है, उदाहरण के लिए मौद्रिक डेटा के साथ। MySQL में, NUMERIC को DECIMAL के रूप में लागू किया जाता है, इसलिए DECIMAL के बारे में निम्नलिखित टिप्पणी NUMERIC पर समान रूप से लागू होती है।
MySQL 5.1 द्विआधारी प्रारूप में DECIMAL मूल्यों को संग्रहीत करता है। MySQL 5.0.3 से पहले, उन्हें स्ट्रिंग्स के रूप में संग्रहीत किया गया था। धारा 11.18, "परिशुद्धता मठ" देखें।
एक DECIMAL स्तंभ घोषणा में, सटीक और पैमाना (और आमतौर पर) निर्दिष्ट किया जा सकता है; उदाहरण के लिए:
salary DECIMAL(5,2)
इस उदाहरण में, 5 सटीक है और 2 स्केल है। परिशुद्धता उन महत्वपूर्ण अंकों की संख्या का प्रतिनिधित्व करती है जो मानों के लिए संग्रहीत होते हैं, और स्केल उन अंकों की संख्या का प्रतिनिधित्व करता है जिन्हें दशमलव बिंदु के बाद संग्रहीत किया जा सकता है।
मानक एसक्यूएल की आवश्यकता है कि DECIMAL (5,2) पांच अंकों और दो दशमलव के साथ किसी भी मूल्य को स्टोर करने में सक्षम हो, इसलिए वे मान जो वेतन कॉलम में -999.99 से 999.99 तक संग्रहीत किए जा सकते हैं।
मानक SQL में, वाक्यविन्यास DECIMAL (M) DECIMAL (M, 0) के बराबर है। इसी तरह, वाक्यविन्यास DECIMAL DECIMAL (M, 0) के बराबर है, जहां एम। MySQL के मूल्य को तय करने के लिए कार्यान्वयन की अनुमति है, DECIMAL सिंटैक्स के इन दोनों प्रकारों का समर्थन करता है। M का डिफ़ॉल्ट मान 10 है।
यदि स्केल 0 है, तो DECIMAL मान में कोई दशमलव बिंदु या अंश नहीं होता है।
DECIMAL के लिए अंकों की अधिकतम संख्या 65 है, लेकिन किसी दिए गए DECIMAL कॉलम के लिए वास्तविक सीमा किसी दिए गए कॉलम के लिए सटीक या पैमाने से विवश हो सकती है। जब इस तरह के कॉलम को दशमलव के बाद अधिक अंकों के साथ एक मान निर्दिष्ट किया जाता है, तो निर्दिष्ट पैमाने से अनुमति दी जाती है, तो मान उस पैमाने में बदल जाता है। (सटीक व्यवहार ऑपरेटिंग सिस्टम-विशिष्ट है, लेकिन आम तौर पर प्रभाव अनुमेय अंकों की संख्या के लिए छोटा होता है।)