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)

    相关推荐

    • css3动画图片旋转效果(css3动画的初始旋转角度)

      技术css3如何实现一个旋转的动画本篇内容介绍了“css3如何实现一个旋转的动画”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

      攻略 2021年12月16日
    • 数据库中必要的建表权限有哪些

      技术数据库中必要的建表权限有哪些这篇文章主要为大家展示了“数据库中必要的建表权限有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中必要的建表权限有哪些”这篇文章吧。

      攻略 2021年11月11日
    • 姓田有涵养的男孩名字,男孩帅气有涵养的名字姓王氏

      技术姓田有涵养的男孩名字,男孩帅气有涵养的名字姓王氏帅气有涵养的王氏名字:王嘉佰姓田有涵养的男孩名字、王杰宁、王钦宁、王伦昌、王子嘉、王皓诚、王哲雨、王建宝、王俊南、王博尘、王佰星、王逸林、王钦睿、王棋嘉、王子睿、王尚翔

      生活 2021年10月24日
    • 怎么理解iOS开发中Cocos2d-x的CCSpriteBatchNode

      技术怎么理解iOS开发中Cocos2d-x的CCSpriteBatchNode怎么理解iOS开发中Cocos2d-x的CCSpriteBatchNode,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解

      攻略 2021年11月11日
    • mariadb与mysql的区别是什么

      技术mariadb与mysql的区别是什么这篇文章主要讲解了“mariadb与mysql的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mariadb与mysq

      攻略 2021年12月2日
    • 钥匙忘屋里了怎么开锁,钥匙忘在屋里了在外面怎么打开

      技术钥匙忘屋里了怎么开锁,钥匙忘在屋里了在外面怎么打开锁芯先插里面的钥匙钥匙忘屋里了怎么开锁,外面再插钥匙转不动;先插外面的钥匙,里面插钥匙转不动。一般出门时,门里面不要在锁芯里插钥匙,插了钥匙就会出现你说的情况。如果屋

      生活 2021年10月22日