किसी फंक्शन का USING करके टाइप बदलें
यदि आप किसी varchar कॉलम के लिए बहुत ज़्यादा स्पेस आरक्षित नहीं करना चाहते, तो उसके टाइप को बदलने से पहले आप वैल्यूज़ को truncate कर सकते हैं।
इसके लिए आप निम्न सिंटैक्स का उपयोग कर सकते हैं:
ALTER TABLE table_name
ALTER COLUMN column_name
TYPE varchar(x)
USING SUBSTRING(column_name FROM 1 FOR x)
इसे इस तरह समझिए: क्योंकि आप column_name के लिए सिर्फ x कैरेक्टर आरक्षित रखना चाहते हैं, इसलिए आपको हर वैल्यू का SUBSTRING रखना होगा, यानी उसके पहले x कैरेक्टर, और बाकी को हटा देना होगा। इस तरह वैल्यूज़ varchar(x) की आवश्यकता में फिट हो जाएँगी।
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL में रिलेशनल डेटाबेस का परिचय
अभ्यास निर्देश
- सैंपल कोड को जैसा है वैसा ही चलाएँ और त्रुटि पर ध्यान दें।
- अब
SUBSTRING()का उपयोग करकेfirstnameको 16 कैरेक्टर तक घटाएँ ताकि उसका टाइपvarchar(16)में बदला जा सके।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
-- Convert the values in firstname to a max. of 16 characters
ALTER TABLE professors
ALTER COLUMN firstname
TYPE varchar(16)