如何更改列数据类型而不影响现有列宽度

发布于 2024-08-04 02:05:29 字数 397 浏览 4 评论 0原文

我有一个数据类型为 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 不影响现有的列宽?

谢谢你!

I have an existing column of data type varchar that I need to change to nvarchar, however I do not want to alter the existing column width of (5).

If I use the following statement

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

I end up with a column of nvarchar data type, but with a column width of (10)!

If I try the following statement without specifying a column width

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

I then end up with an nvarchar column with a width of (2)

How can I simply change the column data type from varchar to nvarchar without affecting the existing column width?

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

有木有妳兜一样 2024-08-11 02:05:29

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

请仔细阅读SQL Server 联机丛书,了解 SQL 数据类型之间的差异。我添加了一个链接

NVARCHAR is a UNICODE UCS-2 type and will be twice as wide as VARCHAR, by design.

Please have a very close read of SQL Server Books Online to see the difference between SQL data types. I've included a link.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文