gpt4 book ai didi

sql-server - SQL Server 中的 char/varchar 是什么?

转载 作者:行者123 更新时间:2023-12-04 02:23:36 25 4
gpt4 key购买 nike

有很多问题询问“char/varchar 与 nchar/nvarchar 是什么?”答案总是指出 nchar/nvarchar 将字符串存储为 unicode,而 char/varchar 则不然。那么 char/varchar 将字符串存储为什么呢?是ASCII吗?或者其他一些字符集?

最佳答案

So what do char/varchar store strings as? Is it ASCII? Or some other character set?

char/varchar 的字符集由列或变量的排序规则定义。对于所有排序规则,128 个 ASCII 字符都相同,使用代码点 0-127。排序规则支持的其余字符根据排序规则的代码页映射到代码点。

大多数排序规则使用单字节代码,在 128-255 代码点范围内提供 128 个附加字符。这些有时被称为扩展 ASCII 字符,但这是一种用词不当,因为这些不是标准 ASCII 字符,并且分配给代码点的字符可能会因代码页的不同而有所不同。

SQL Server 还支持一些双字节排序规则(代码页 932,936,949,950)。这些排序规则还将 128 个 ASCII 字符存储为单个字节,并使用 2 个字节存储其他字符(类似于 UTF-8)。

下面的查询列出了每个排序规则的代码页:

SELECT  name AS CollationName
, COLLATIONPROPERTY(name, 'CodePage') AS CollationCodePage
FROM fn_helpcollations();

关于sql-server - SQL Server 中的 char/varchar 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38236074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com