gpt4 book ai didi

SQL Server 排序规则

转载 作者:行者123 更新时间:2023-12-02 13:10:30 25 4
gpt4 key购买 nike

我正在读的书是这么说的

SQL Server 支持两种字符数据类型 — 常规和 Unicode。常规数据类型包括 CHAR 和 VARCHAR,Unicode 数据类型包括 NCHAR 和 NVARCHAR。不同之处在于,常规字符每个字符使用一个字节存储,而 Unicode 字符每个字符需要两个字节。由于每个字符存储一个字节,为列选择常规字符类型会限制您只能使用除英语之外的一种语言,因为单个字节只能表示 256 (2^8) 个不同的字符。

由此我了解到,如果我使用 Varchar,那么我只能使用一种语言(例如印地语,一种印度语言)和英语。
但是当我运行这个时

Create Table NameTable
(
NameColumn varchar(MAX) COLLATE Indic_General_90_CI_AS_KS
)

它显示错误“排序规则‘Indic_General_90_CI_AS_KS’仅在 Unicode 数据类型上受支持,不能应用于 char、varchar 或文本数据类型。”

那么我哪里误解了作者呢?
谢谢

最佳答案

您可以找到排序规则列表 here ,以及编码类型

<小时/>

某些排序规则仅适用于 1 字节编码 - 127 位用于普通 ASCII,128 位可用于其他字符 - 印地语可能不适合 128 个字符,因此 1 字节排序规则不适用于它。

您必须使用 nvarchar(或其他带有“n”前缀的字符类型)。

--编辑--

French_CI_AS 作为非英语示例

排序规则所支持的功能之一是特定于语言和区域设置的字符排序。因此法语!=拉丁语。

另一个示例Arabic_CI_AS

这是使用阿拉伯字母的 1 字节编码。

关于SQL Server 排序规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310439/

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