SQL Server与MySQL中排序规则与字符集是什么

技术SQL Server与MySQL中排序规则与字符集是什么这篇文章主要讲解了“SQL Server与MySQL中排序规则与字符集是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来

本文主要讲解“SQL Server和MySQL中有哪些排序规则和字符集”,简单明了,易学易懂。现在,请跟随边肖的思路一起学习和学习“SQL Server和MySQL中的排序规则和字符集是什么”!

字符集排序规则

字符集是不同语言的字符编码集合,如UTF-8字符集、GBK字符集、GB2312字符集等。不同的字符集使用不同的规则来编码字符。排序规则是基于特定字符集的特定字符排序方法。排序规则基于字符集,是排序方法维度中字符集的一部分。

排序规则取决于字符集。一个字符集可以有多种排序规则,但是一个排序规则只能基于某个字符集,比如汉字集,也就是可以按照拼音、姓氏笔画等等排序的汉字。对于英语来说,没有拼音和姓氏笔画,但可以分为区分大小写、不区分大小写等,而其他语言则有自己特定的排序规则。

在SQL Server中,任何字符集的数据库都可以存储任何语言的字符。

不代表拉丁字符集数据不能存储中文,汉字字符集数据库不能存储蒙文(只要操作系统本身支持)。在sqlserver中,nvarchar(或nchar)可以用于任何具有任何字符集(实际上是排序规则)的数据库(或字段),nvarchar(或nchar)可以存储任何非unicode字符。至于排序规则,它们是根据不同字符集支持的不同排序规则人工定义的。

00-1010归类只是指定存储数据的归类(比较)规则,换句话说,归类已经包含字符集的信息。因此,在sqlserver中,不需要关心字符集,只需要关心排序规则。在sqlserver中,只能指定排序规则(不能直接指定字符集)。例如,在截图中,您只能指定排序规则,即字符集。

SQL  Server与MySQL中排序规则与字符集是什么

00-1010如上所述,排序规则依赖于字符集。一个字符集可以有多个排序规则,但一个排序规则只能基于某个字符集。以下是MySQL中排序规则和字符集的对应关系。

SQL  Server与MySQL中排序规则与字符集是什么

MySQL的数据库构建语法相当蹩脚。可以指定字符集和排序规则。如果指定的排序规则低于字符集,则没有问题。如果指定的排序规则不低于字符集,将会报告错误。

例如,在下面的句子中,排序规则utf8_bin是字符集utf8下的排序规则,执行这个语句没有问题。

createdatabasettest _ database 2 charsetutf8 collateutf8 _ bin;例如,在下面的句子中,排序规则latin1_bin不是字符集utf8下的排序规则,执行此语句将会给出一个错误。

createdatabasettest _ database 2 charsetutf8 collaterate 1 _ bin;SQL  Server与MySQL中排序规则与字符集是什么

以上是字符集和排序规则在sqlserver和MySQL中的一些基本应用,下面我们来谈谈常用排序规则的区别。

SQL Server中的字符集和排序规则

或以上是某个字符集常用的三种排序规则。以下是常见的utf8示例。

utf8 _ genus _ ci不区分大小写,ci是不区分大小写的缩写,即不区分大小写。

Utf8_general_cs区分大小写,cs是区分大小写的缩写,即区分大小写。但是目前MySQL版本不支持类似* * * _ genus _ cs的排序规则,所以改用utf8_bin。

Utf8_bin将字符串中的每个字符存储为二进制数据,区分大小写。

然后,它也区分大小写。utf8_general_cs和utf8_bin有什么区别?

Cs区分大小写是区分大小写的缩写,即区分大小写;Bin表示二进制

制,也就是二进制编码比较。

  • utf8_general_cs排序规则下,即便是区分了大小写,但是某些西欧的字符和拉丁字符是不区分的,比如ä=a,但是有时并不需要ä=a,所以才有utf8_bin

  • utf8_bin的特点在于使用字符的二进制的编码进行运算,任何不同的二进制编码都是不同的,因此在utf8_bin排序规则下:&auml;<>a

  • 在utf8_genera_ci的情况下A=a,&auml;=a

    SQL Server与MySQL中排序规则与字符集是什么

    在utf8_bin排序规则下,A<>a,&auml;<>a

    SQL Server与MySQL中排序规则与字符集是什么

    所以要想区分大小写,有没有特殊需求,就直接使用utf8_bin(实际上***_general_cs在MySQL中本身就不支持,在SQL Server中支持)。以上字符集的特点以及使用情况在SQL Server中表现为类似。

    感谢各位的阅读,以上就是“SQL Server与MySQL中排序规则与字符集是什么”的内容了,经过本文的学习后,相信大家对SQL Server与MySQL中排序规则与字符集是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

    内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133170.html

    (0)

    相关推荐

    • Java程序开发环境配置图文的方法是什么

      技术Java程序开发环境配置图文的方法是什么本篇内容介绍了“Java程序开发环境配置图文的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

      攻略 2021年11月19日
    • Harbor offline 安装

      技术Harbor offline 安装 Harbor offline 安装指导文档:Harbor docs | Harbor Installation and Configuration (go

      礼包 2021年10月27日
    • Apache Hudi使用是怎么样的

      技术Apache Hudi使用是怎么样的Apache Hudi使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。]数据实时处理和实时的数据实时分为

      攻略 2021年11月23日
    • 几何平均,什么是算术平均值和几何平均值

      技术几何平均,什么是算术平均值和几何平均值算术平均数(Arithmetic mean)是表征数据集中趋势的一个统计指标。 它是一组数据之和,除以这组数据之个/项数。算术平均数在统计学上的优点,就是它较中位数、众数更少受到

      生活 2021年10月20日
    • 【学习笔记】P7912 [CSP-J 2021] 小熊的果篮

      技术【学习笔记】P7912 [CSP-J 2021] 小熊的果篮 【学习笔记】P7912 [CSP-J 2021] 小熊的果篮 - 题解题目传送门
      正解
      思路
      开两个链表,维护单个水果和每个块的最左端,

      礼包 2021年11月7日
    • pads无模命令怎么用

      技术pads无模命令怎么用这篇文章将为大家详细讲解有关pads无模命令怎么用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。全局设置(Global Settings)C……

      攻略 2021年11月11日