如何在sql server 2008中将所有varchar数据类型列更改为Nvarchar数据类型列

时间:2014-02-20 06:39:55

标签: sql-server

我有一个表列表,我必须更改所有列的VARCHAR数据类型,而不是NVARCHAR数据类型。

在更改为NVARCHAR时,我应该获取所有非null和null列。它应该将具有> 4000的列的大小更改为NVARCHAR(MAX),并且希望在转换为NVARCHAR时将主键列的大小更改为448.当大小超过448时,主键列会在转换为NVARCHAR时导致问题索引错误

1 个答案:

答案 0 :(得分:1)

此查询将为您提供所有具有长度和可为空性的varchar列的列表

SELECT TABLE_CATALOG,
       TABLE_SCHEMA,
       TABLE_NAME,
       COLUMN_NAME,
       CHARACTER_OCTET_LENGTH,
       IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE='varchar'

你的问题不清楚,我可以提供更多帮助。

  

在更改为NVARCHAR时,我应该获取所有非null和null的内容   列

这是否意味着您希望保留可空性属性?请更清楚地询问。