यह PostgreSQL के कई कारणों में से एक है money
टाइप करें बहिष्कृत किया गया था और इससे बचा जाना चाहिए
. अजीब तरह से एक ही दस्तावेज़ के नए संस्करण बहिष्करण चेतावनी नहीं दिखाते हैंए> लेकिन मैं और अन्य
इससे असहमत हैं और सोचते हैं कि इसके उपयोग को हतोत्साहित किया जाना चाहिए।
यदि संभव हो तो, numeric
. का उपयोग करने के लिए अपनी स्कीमा बदलें इसके बजाय, numeric(17,2)
. की तरह यदि आप केवल पूर्ण-संख्या सेंट, या मध्यवर्ती मानों के लिए कुछ अधिक सटीक स्टोर करना चाहते हैं। money
. के साथ काम करते हुए आपको एक बुरे सपने का सामना करना पड़ेगा HQL में, उस बिंदु तक जहां जावा का BigDecimal
. भी है वर्ग (आमतौर पर numeric
को मैप करने के लिए उपयोग किया जाता है) फ़ील्ड्स) इसके अंकगणित के भयानक अनाड़ी वाक्य-विन्यास के बावजूद बेहतर है।
मैं एक ALTER TABLE blah ALTER COLUMN blahcol TYPE numeric(17,2) USING ( regexp_replace(blahcol::text, '[$,]', '', 'g')::numeric );
और money
भूल जाइए टाइप अस्तित्व में था अगर मैं तुम होते।