对于SQL Server 2005/2008,经过一些自学,我不确定我对字符数据类型如何物理存储的理解是否正确。请帮忙查看和评论。这是我的理解,请查看并随时纠正我。
当使用 unicode 字符类型(例如 nvarchar)时,底层字符以 UCS-2 编码存储(即,字符以相关 UCS-2 为字符定义的位序列的形式物理存储)。Collation 定义了比较和排序,这种情况下没有代码页;
当使用非 unicode 字符类型(例如 varchar)时,底层字符物理存储为由排序规则定义的相关代码页中定义的位。所以在这种情况下,排序规则不仅定义了比较/排序,还定义了哪个代码页(字符,位值表示字符,并使用相同的位值将字符存储在数据库物理存储中)。
提前谢谢,乔治