INFORMATION_SCHEMA.COLUMNS से चयन करना यह निर्धारित करने का एक अच्छा तरीका है कि किन स्तंभों को परिवर्तित करने की आवश्यकता है,
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = 'CHAR';
लेकिन इसका उपयोग किसी कॉलम के डेटा प्रकार को सीधे बदलने के लिए नहीं किया जा सकता है। टेबल बदलें स्तंभ डेटा प्रकारों को संशोधित करने के लिए उपयोग किया जाता है:
ALTER TABLE [dbo].[TableName] ALTER COLUMN [ColumnName] NVARCHAR(50);
जब आप इसमें हों, तो NVARCHAR(MAX)
. का उपयोग करने से बचें जब तक कि यह बिल्कुल जरूरी न हो। सुनिश्चित करें कि आपके डेटा प्रकार विशेष रूप से विशेषता के लिए आकार में हैं। अगर आपका CHAR
कॉलम पहले से ही सही आकार में हैं, निम्न स्क्रिप्ट का उपयोग उत्पन्न करने के लिए . करें ALTER TABLE
बयान:
SELECT 'ALTER TABLE ' +
QUOTENAME(TABLE_SCHEMA) + '.' +
QUOTENAME(TABLE_NAME) +
' ALTER COLUMN ' +
QUOTENAME(COLUMN_NAME) +
' NVARCHAR(' +
CAST(CHARACTER_MAXIMUM_LENGTH AS VARCHAR(4)) + ');'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE = 'char';
ध्यान रखें कि यह केवल ALTER TABLE स्टेटमेंट जेनरेट करता है, डेटा प्रकार बदलने के लिए आपको परिणामों की प्रतिलिपि बनाने और एक नए टैब में निष्पादित करने की आवश्यकता होगी।