我有一個表列表,其中必須更改所有列的NVARCHAR數據類型no NVARCHAR數據類型。如何在SQL Server 2008中將所有varchar數據類型列更改爲Nvarchar數據類型列
雖然更改爲NVARCHAR我應該得到所有那些非空和空列。它應該將具有> 4000的列大小更改爲NVARCHAR(MAX),並且希望在將主鍵列的大小轉換爲NVARCHAR時將其大小更改爲448.當大小超過448時,主鍵列導致轉換爲NVARCHAR時出現問題,這是由於指數誤差
我有一個表列表,其中必須更改所有列的NVARCHAR數據類型no NVARCHAR數據類型。如何在SQL Server 2008中將所有varchar數據類型列更改爲Nvarchar數據類型列
雖然更改爲NVARCHAR我應該得到所有那些非空和空列。它應該將具有> 4000的列大小更改爲NVARCHAR(MAX),並且希望在將主鍵列的大小轉換爲NVARCHAR時將其大小更改爲448.當大小超過448時,主鍵列導致轉換爲NVARCHAR時出現問題,這是由於指數誤差
該查詢會給你所有varchar
列的列表,長度和爲空
SELECT TABLE_CATALOG,
TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME,
CHARACTER_OCTET_LENGTH,
IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE='varchar'
你的問題不清楚,我來幫助更多。
當改變爲nvarchar我應該得到所有那些不爲空和空 列
這是否意味着要保留爲空財產是什麼?請更清楚地詢問。
我認爲你必須使用cursor.select *從sys.columns其中user_type_id = 256 這揭示了一切。 – KumarHarsh
請任何幫助。我期待的解決方案 – Axs
引用此人, http://stackoverflow.com/questions/1327548/how-to-change-all-sql-columns-of-one-datatype-into-another – KumarHarsh