2

我们可以存储多语言文本varchar吗?我曾经相信,对于这些场景,我们需要一个nvarchar,但是当我尝试下面的代码时,它运行良好。

DECLARE @name VARCHAR(100)
SET @name='Hej mit navn er Vaibhav'
SELECT @name

所以我应该采取varcharnvarchar存储多语言文本。

4

2 回答 2

3

nvarchar存储Unicode字符(支持更多字符),varchar不存储。由于'Hej mit navn er Vaibhav'不包含任何 Unicode 字符,它工作得很好。

那么我应该使用 varchar 还是 nvarchar 来存储多语言文本。

这取决于你的情况。如果您有一个大型数据库并且您永远不需要存储额外的字符集,那么它会nvarchar占用两倍的空间,这是有道理的。但是,对于较小的数据库,空间可能不是问题,并且您可能更愿意使用额外的空间以允许将来使用 Unicode 字符。varcharvarchar

由于专门询问多语言文本,我会说您可能会遇到varchar无法存储的字符。

于 2012-07-03T12:28:13.833 回答
1

使用 Nvarchar 数据类型

DECLARE @name NVARCHAR(100) 
SET @name=N'Hej mit navn er Vaibhav' 
SELECT @name 
于 2012-07-03T12:29:31.960 回答