2015-03-12 6 views
6

मैं ओरेकल एसक्यूएल डेटाबेस का उपयोग कर रहा हूं और मुझे पंक्ति के हिस्से के रूप में मौद्रिक मूल्य (वेतन) डालना होगा। कुछ अजीब कारणों से मनी कमांड काम नहीं कर रहा है, क्या कोई विकल्प है जो इसके साथ काम करेगा?पैसे डालने पर SQL डेटाटाइप का उपयोग करने के लिए

डाटा इनपुट प्रारूप: £ 00,000.000

CREATE TABLE staff 
        (staffno CHAR(6) NOT NULL 
        , staffsurname VARCHAR(8) NOT NULL 
        , staffforename VARCHAR(7) NOT NULL 
        , salary MONEY NOT NULL 
        , PRIMARY KEY (staffno) 
        ); 
+0

ओरेकल का उपयोग कर संख्या फ़ॉर्मेट कर सकते हैं, मैं क्षमाप्रार्थी - टैग तय की। – user3686991

+2

ओरेकल एक नोट के रूप में तारों के लिए 'varchar() 'के बजाय' varchar2()' के उपयोग की सिफारिश करता है। –

उत्तर

5

देखो कोई मौजूदा पैसे डेटाप्रकार नहीं है।

आप देख रहे हैं SQL-Server छोटे पैसे प्रकार के समान किसी चीज़ के लिए, आप एक Number(10,4) उपयोग करने के लिए और फिर संख्या स्वरूप चाहते हैं।

आप to_char समारोह

select to_char(yourColumn, '$99,999.99') from yourTable where someCondition 
+0

इस एप्लिकेशन के लिए कोई फ्रंट-एंड नहीं है, बस डेटाबेस को संरचित करना (मैं एक छात्र हूं इसलिए यह सिर्फ ऑर्केक्स iacademy का उपयोग कर अभ्यास कर रहा है) इसलिए मैं स्ट्रिंग को पार्स नहीं कर सकता। – user3686991

+0

@ user3686991 संपादित देखें। –

+0

उदाहरण के लिए यदि मेरा इनपुट था: £ 45,000.00। क्या यह वचरार (7,2) का उपयोग करके काम करेगा? – user3686991

3

"अजीब" वजह साफ है: There is no MONEY data type

मौद्रिक मूल्यों के लिए सबसे उपयुक्त डेटा प्रकार NUMBER होगा (उचित स्केल का उपयोग करके)। चूंकि यह दशमलव फ़्लोटिंग-पॉइंट प्रकार है, यह बाइनरी फ़्लोटिंग-पॉइंट प्रकार BINARY_FLOAT और BINARY_DOUBLE से मौद्रिक मानों के लिए बेहतर है।

नोट, हालांकि, कि आप अभी भी अपने सामने के छोर में पार्स इनपुट स्ट्रिंग £00,000.000 करने की जरूरत है और वापस अंत करने के लिए एक अंकीय मान के रूप में यह भेज देंगे। इस लाइन

salary MONEY NOT NULL 

पर

+0

ठीक है और £ 00,000.00 के मौद्रिक मूल्य डालने के लिए सही प्रारूप क्या होगा? – user3686991

+0

शून्य का मौद्रिक मूल्य बस '0' है। –

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

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