我一直在研究在代码中使用Unicode’N’常量,例如:
select object_id(N'VW_TABLE_UPDATE_DATA', N'V');
insert into SOME_TABLE (Field1, Field2) values (N'A', N'B');
在阅读了何时使用它之后,我仍然不完全清楚应该和不应该使用它的情况.
当数据类型或参数期望unicode数据类型(根据上面的例子)时,它是否像使用它一样简单,或者它是否比它更加sophiticated?
以下Microsoft站点给出了解释,但我对它正在使用的一些术语有点不清楚
http://msdn.microsoft.com/en-us/library/ms179899.aspx
或者说精确:
Unicode constants are interpreted as
Unicode data, and are not evaluated by
using a code page. Unicode constants
do have a collation. This collation
primarily controls comparisons and
case sensitivity. Unicode constants
are assigned the default collation of
the current database, unless the
COLLATE clause is used to specify a
collation.
它是什么意思:
>’使用代码页进行评估’?
>整理?
我意识到这是一个相当广泛的问题,但任何链接或帮助将不胜感激.
谢谢
最佳答案 当数据类型或参数需要unicode数据类型时,它是否像使用它一样简单?
差不多.
回答你的其他观点:
A code page是字符集编码的另一个名称.例如,windows code page 1255编码希伯来语.这通常用于8位字符编码.就您的问题而言,可以使用不同的代码页来评估字符串(因此相同的位模式可以被解释为日语字符或阿拉伯语字符,具体取决于用于评估它的代码页).
Collation是关于SQL Server如何排序字符串 – 这取决于代码页,因为您将以不同的语言对不同语言的字符串进行排序.有关示例,请参见this article.