什么是';N';处理SQL时,例如(N';';)
就像在问题中一样,不确定SQL中什么是';N';处理SQL时,例如(N';';),sql,tsql,Sql,Tsql,就像在问题中一样,不确定SQL中'和N'之间的区别。N''表示unicode字符串。它是Nvarchar的缩写。使用该表示法告诉解析器将以下字符串数据视为nvarchar,而不是默认的varchar 例如: SELECT N'This is a test'; -- NVarChar data SELECT 'Test is a test'; -- VarChar data N存储UNICODE数据,就像NVARCHAR和VARCHAR nvarchar列可以存储任何Unicode数据。varc
'
和N'
之间的区别。N''表示unicode字符串。它是Nvarchar
的缩写。使用该表示法告诉解析器将以下字符串数据视为nvarchar
,而不是默认的varchar
例如:
SELECT N'This is a test'; -- NVarChar data
SELECT 'Test is a test'; -- VarChar data
N
存储UNICODE
数据,就像NVARCHAR
和VARCHAR
nvarchar
列可以存储任何Unicode数据。varchar
列被限制为8位代码页。有些人认为应该使用varchar
,因为它占用更少的空间。我相信这不是正确的答案。代码页不稳定性是一种痛苦,Unicode是解决代码页问题的良方。现在磁盘和内存都很便宜,真的没有理由再浪费时间在代码页上了。我相信它可能是“国家”的翻版。@MartinSmith你说得对-国家语言字符。太奇怪了。+1有点离题,但我同意你默认使用nvarchar
。在某些情况下,我知道我只存储产品代码或州缩写之类的内容,我会转而使用varchar
。但正如塞尔科所说,你给某人一个NVARCHAR
列,最终它会得到一个中文Unicode的佛经。