将 Varchar 转换为 NVarchar?

新手上路,请多包涵

我知道从 nvarchar 转换为 varchar 时,一些数据会丢失/更改。

但是,将 varchar nvarchar 是否存在数据更改的风险?

原文由 Curtis 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

nvarchar 存储的 unicode 字符是 varchar 字符大小的两倍。因此,只要您的 nvarchar 至少是您的 vchar 长度的两倍,这将不是问题。

如果您没有使用任何超出 ASCII 字符范围的字符(即您没有 Unicode 字符),则仍然可以转换其他方式

简而言之,确保您的 nvarchar 长度是最大 varchar 值的两倍,然后进行更改。


因为我似乎收到了一些反对意见(没有解释),所以我想明确一点,当我提到上面的长度时,我指的是大小,例如所需的存储数据量。请注意我在下面的评论,我也将在这里包括:

如果您正在谈论使用 SQL 更改长度,那么我认为您应该可以拥有相同的长度。这是因为当您根据字符数而不是实际存储的数据量来指定长度时

原文由 musefan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进