आप USING
. का उपयोग करके देख सकते हैं :
वैकल्पिक USING
खंड निर्दिष्ट करता है कि पुराने से नए स्तंभ मान की गणना कैसे करें; यदि छोड़ा गया है, तो डिफ़ॉल्ट रूपांतरण पुराने डेटा प्रकार से नए में डाले गए असाइनमेंट के समान है। एक USING
यदि पुराने से नए प्रकार में कोई निहित या असाइनमेंट कास्ट नहीं है तो क्लॉज प्रदान किया जाना चाहिए।
तो यह काम कर सकता है (आपके डेटा के आधार पर):
alter table presales alter column code type numeric(10,0) using code::numeric;
-- Or if you prefer standard casting...
alter table presales alter column code type numeric(10,0) using cast(code as numeric);
यदि आपके पास code
. में कुछ है तो यह विफल हो जाएगा जिसे अंकीय में नहीं डाला जा सकता है; यदि उपयोग विफल हो जाता है, तो आपको कॉलम प्रकार बदलने से पहले गैर-संख्यात्मक डेटा को हाथ से साफ करना होगा।