2010-12-09 12 views
43

मेरे पास products तालिका में price कॉलम है।क्या MySQL प्रकार "मूल्य" कॉलम के लिए सबसे उपयुक्त है?

मुझे आश्चर्य है कि कौन सा MySQL प्रकार इस कॉलम के लिए सबसे उपयुक्त है। क्या यह DECIMAL, FLOAT, या कुछ और है?

कीमत उदाहरण के लिए हो सकता है: 139.99, 40, 14.5 (दशमलव बिंदु के बाद 2 अंक, दुकानों में की तरह)।

कृपया सलाह दें।

उत्तर

76

DECIMAL beacuse दशमलव मान ठीक से संग्रहीत किया जाता है। जैसे DECIMAL (10, 2) 99 99 99 99, 99 से अधिक की कीमतों के लिए पूरी तरह से अनुकूल होगा। MySQL Docs reference

+2

हालांकि दशमलव अधिक उपयुक्त है, पूर्णांक बेहतर प्रदर्शन करेगा। बस राशि 100 से गुणा करें और मूल्य को सेंट में स्टोर करें। – twicejr

+1

आपकी संख्या से अधिक के बारे में क्या? – hakiko

+0

मैं DECIMAL (10, 2) का उपयोग करता हूं: 123,33.00 और प्रारूप संख्या_फॉर्मैट ($ मूल्य, 0, '।', ',') अब फॉर्म संपादन पर 123,33 दिखाएं और डेटा को केवल 123 ही सहेजें। –

5

आपको निश्चित रूप से पैसे के लिए दशमलव प्रकार का उपयोग करना चाहिए। अन्य उत्तरों के विपरीत, कभी भी फ़्लोटिंग पॉइंट नहीं। और वर्चर का उपयोग करके आप गणना कर सकते हैं।

10

DECIMAL सबसे अच्छा विकल्प है। आपको कॉलम के लिए एक सटीकता और स्केल निर्दिष्ट करने की आवश्यकता होगी। प्रेसिजन संख्याओं की कुल संख्या निर्दिष्ट करता है जिसमें संख्या होगी और पैमाने का अर्थ है कि उनमें से कितने एक्सपोनेंट में उपयोग के लिए हैं।

+0

आपको बहुत बहुत धन्यवाद करने के लिए ऊपर! –

11

फ़ील्ड प्रकार "दशमलव" सर्वोत्तम काम करेगा। जैसा:

`product_price` decimal(8, 2) NOT NULL, 

यह 999999.99

अप करने के लिए एक मूल्य की दुकान से आप ऊंची कीमतों है तो आप

`product_price` decimal(12, 2) NOT NULL, 

अर्थात उपयोग कर सकते हैं 9999999999.99

संबंधित मुद्दे