代码之家  ›  专栏  ›  技术社区  ›  Eli

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

  •  0
  • Eli  · 技术社区  · 17 年前

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

    如果我使用下面的语句

    alter table mytable alter column mycolumn nvarchar(5)不为空

    我最终得到了nvarchar数据类型的列,但列宽度是(10)!

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

    alter table mytable alter column mycolumn nvarchar(5)不为空

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

    如何简单地将列数据类型从VARCHAR更改为NVARCHAR而不影响现有的列宽度?

    谢谢您!

    1 回复  |  直到 16 年前
        1
  •  1
  •   user114600    16 年前

    NVARCHAR 是一个 Unicode UCS-2标准 类型和宽度是 VARCHAR 通过设计。

    请仔细阅读 SQL Server联机丛书 查看SQL数据类型之间的差异。我包括一个 link .