如何在不影响现有列宽的情况下更改列数据类型

时间:2009-09-04 14:53:39

标签: sql-server width

我有一个数据类型为varchar的现有列,我需要将其更改为nvarchar,但是我不想更改(5)的现有列宽。

如果我使用以下声明

ALTER TABLE MYTABLE ALTER COLUMN MYCOLUMN NVARCHAR(5)NOT NULL

我最终得到一列nvarchar数据类型,但列宽为(10)!

如果我在未指定列宽的情况下尝试以下语句

ALTER TABLE MYTABLE ALTER COLUMN MYCOLUMN NVARCHAR(5)NOT NULL

然后我得到一个宽度为(2)

的nvarchar列

如何在不影响现有列宽的情况下简单地将列数据类型从varchar更改为nvarchar?

谢谢!

1 个答案:

答案 0 :(得分:1)

NVARCHAR是一种 UNICODE UCS-2 类型,其设计宽度是VARCHAR的两倍。

请仔细阅读 SQL Server联机丛书,以了解SQL数据类型之间的区别。我添加了link