我知道从 nvarchar 转换为 varchar 时,一些数据会丢失/更改。 但是,将 varchar nvarchar 是否存在数据更改的风险? 原文由 Curtis 发布,翻译遵循 CC BY-SA 4.0 许可协议
nvarchar 存储的 unicode 字符是 varchar 字符大小的两倍。因此,只要您的 nvarchar 至少是您的 vchar 长度的两倍,这将不是问题。 如果您没有使用任何超出 ASCII 字符范围的字符(即您没有 Unicode 字符),则仍然可以转换其他方式 简而言之,确保您的 nvarchar 长度是最大 varchar 值的两倍,然后进行更改。 因为我似乎收到了一些反对意见(没有解释),所以我想明确一点,当我提到上面的长度时,我指的是大小,例如所需的存储数据量。请注意我在下面的评论,我也将在这里包括: 如果您正在谈论使用 SQL 更改长度,那么我认为您应该可以拥有相同的长度。这是因为当您根据字符数而不是实际存储的数据量来指定长度时 原文由 musefan 发布,翻译遵循 CC BY-SA 3.0 许可协议
nvarchar 存储的 unicode 字符是 varchar 字符大小的两倍。因此,只要您的 nvarchar 至少是您的 vchar 长度的两倍,这将不是问题。
如果您没有使用任何超出 ASCII 字符范围的字符(即您没有 Unicode 字符),则仍然可以转换其他方式
简而言之,确保您的 nvarchar 长度是最大 varchar 值的两倍,然后进行更改。
因为我似乎收到了一些反对意见(没有解释),所以我想明确一点,当我提到上面的长度时,我指的是大小,例如所需的存储数据量。请注意我在下面的评论,我也将在这里包括: