Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server数据库使用什么排序规则?_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql server SQL Server数据库使用什么排序规则?

Sql server SQL Server数据库使用什么排序规则?,sql-server,sql-server-2005,Sql Server,Sql Server 2005,我需要选择哪种排序规则?SQL Server 2008 我在stackoverflow.com上找到了一篇关于这个问题的相关文章: 因此,如果我理解得很好(参考上面的链接): 排序规则用于排序和比较): NVARCHAR用于存储数据 排序规则属性/parms CI指定不区分大小写 CS指定区分大小写 AI指定不区分重音 AS指定区分重音 我需要创建一个数据库,将存储土耳其语和英语,我会选择CI和AI。我不想要区分大小写和不区分重音,所以很简单。我认为这对于英语来说是很清楚的,但是土耳其

我需要选择哪种排序规则?SQL Server 2008

我在stackoverflow.com上找到了一篇关于这个问题的相关文章:

因此,如果我理解得很好(参考上面的链接):

  • 排序规则用于排序和比较):
  • NVARCHAR用于存储数据
排序规则属性/parms

  • CI指定不区分大小写
  • CS指定区分大小写
  • AI指定不区分重音
  • AS指定区分重音
我需要创建一个数据库,将存储土耳其语和英语,我会选择CI和AI。我不想要区分大小写和不区分重音,所以很简单。我认为这对于英语来说是很清楚的,但是土耳其语有一些特殊的字符,比如说üçö等

问题:

由于排序与存储数据无关,我将使用
NVARCHAR
为什么我应该选择排序
Turkish_100_CI_AI
,我也可以使用
Latin1_General_100_CI_AI
,这也是我在SQL Server上的默认设置。两者都是拉丁文字

在同一个数据库中存储英语和法语也是一个问题。。。为什么我应该用法语而不是拉丁语来代替拉丁语


有人能给我一些建议吗?我错了吗?

如果您的数据模型允许您将数据分隔为特定于语言的列,则可以使用COLLATE子句为每个列显式设置排序规则

还可以将COLLATE子句应用于SELECT语句(例如,将所有语言数据保留在同一位置,并且在SELECT语句中仅按语言进行筛选)


据我所知,拉丁文1不包括土耳其语(排序顺序)。

排序规则是指确定数据排序和比较方式的一组规则。使用定义正确字符序列的规则对字符数据进行排序,并提供用于指定大小写敏感度、重音符号、假名字符类型和字符宽度的选项

区分大小写

如果AABB等以相同方式处理,则不区分大小写。计算机对AA的处理方式不同,因为它使用ASCII码来区分输入

重音敏感度

如果aáoó以相同的方式处理,则它不区分重音。计算机对A和A的处理方式不同,因为它使用ASCII码来区分输入。与ASCII值一样,a97a225

假名敏感性

当日语假名字符平假名和片假名被区别对待时,它被称为假名敏感

宽度灵敏度

如果单字节字符(半宽度)和表示为双字节字符(全宽度)的同一字符的处理方式不同,则该字符对宽度敏感


可以找到更多信息。我希望这个答案有帮助。

你错了,拉丁1字符集包含了这些语言的所有字符。没有。Latin1排序规则在字符相等性和排序方面的决定也与特定语言的排序规则不一样。@Dan:请澄清一下。好的,我只是一个拉丁字符集的站点。有些土耳其语角色不在那里。。。但它对法语有帮助…所以如果里面有所有的法语字符,我就可以用法语和英语。。。不""... -2-为什么拉丁语1排序不能做出决定?如果不明显(您的问题中没有突出显示,也没有链接到),排序和比较会影响
唯一约束的定义-因此,如果您决定对
CI_AI
进行排序,则不能在唯一列中存储两个仅因大小写不同的值(或口音)对不起,不清楚。你的意思是:在“姓名”或“地址”栏中-我可以在这里储存法语/英语吗?法语字符是拉丁语的。我可以接受这句话吗?如果字符是拉丁语集(适用于任何语言)…我可以使用拉丁语。->这正确吗?你是对的。我刚刚检查了拉丁语字符集1“但是法语/英语呢…我看到拉丁语1包含法语字符…所以我可以使用拉丁语1?