我们可以存储多语言文本varchar
吗?我曾经相信,对于这些场景,我们需要一个nvarchar
,但是当我尝试下面的代码时,它运行良好。
DECLARE @name VARCHAR(100)
SET @name='Hej mit navn er Vaibhav'
SELECT @name
所以我应该采取varchar
或nvarchar
存储多语言文本。
我们可以存储多语言文本varchar
吗?我曾经相信,对于这些场景,我们需要一个nvarchar
,但是当我尝试下面的代码时,它运行良好。
DECLARE @name VARCHAR(100)
SET @name='Hej mit navn er Vaibhav'
SELECT @name
所以我应该采取varchar
或nvarchar
存储多语言文本。
nvarchar
存储Unicode字符(支持更多字符),varchar
不存储。由于'Hej mit navn er Vaibhav'
不包含任何 Unicode 字符,它工作得很好。
那么我应该使用 varchar 还是 nvarchar 来存储多语言文本。
这取决于你的情况。如果您有一个大型数据库并且您永远不需要存储额外的字符集,那么它会nvarchar
占用两倍的空间,这是有道理的。但是,对于较小的数据库,空间可能不是问题,并且您可能更愿意使用额外的空间以允许将来使用 Unicode 字符。varchar
varchar
由于专门询问多语言文本,我会说您可能会遇到varchar
无法存储的字符。
使用 Nvarchar 数据类型
DECLARE @name NVARCHAR(100)
SET @name=N'Hej mit navn er Vaibhav'
SELECT @name