如何选择SQL Server数据库的排序规则

发布于 2024-10-09 06:02:13 字数 123 浏览 0 评论 0原文

如果我想使用数据库来存储不同组的特殊字符,如何选择使用哪种排序规则?例如,如果我将排序规则设置为克罗地亚语,并且想要使用俄语西里尔字母、日语字符(克罗地亚语特殊字符除外) - 我应该使用哪种排序规则?

谢谢, 伊利亚

What if I want to use database to store different groups of special characters, how do I choose which collation to use? For example, if I set collation to Croatian and want to use Russian cyrillic, japanese characters except croatian special characters - which collation should I use?

Thanks,
Ilija

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

唔猫 2024-10-16 06:02:13
  • 您可以使用 nvarchar 来存储数据
  • COLLATION 定义排序和比较

这意味着您可以将克罗地亚语、俄语和日语存储在同一列中。

但是,当您想要比较(WHERE MyColumn = @foo)或排序(ORDER BY MyColumn)时,由于排序规则,您将无法得到您所期望的结果。

但是,如果需要,您可以使用 COLLATE 子句来更改它。
例如 ORDER BY MyColumn COLLATE Japanese_something

我会选择涵盖大部分数据的最常见选项。 MSDN 有这篇可能有用的文章

  • You'd use nvarchar to store the data
  • COLLATION defines sorting and comparing

That means you can store Croatian, Russian and Japanese in the same column.

But when you want to compare (WHERE MyColumn = @foo) or sort (ORDER BY MyColumn) you'll not get what you expect because of the collation.

However, you can use the COLLATE clause to change it if needed.
eg ORDER BY MyColumn COLLATE Japanese_something

I'd go for your most common option that covers most of your data. MSDN has this maybe useful article

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文