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)

    相关推荐

    • C语言怎么实现单链表的基本功能

      技术C语言怎么实现单链表的基本功能本篇内容主要讲解“C语言怎么实现单链表的基本功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言怎么实现单链表的基本功能”吧!1.首先简

      攻略 2021年11月24日
    • ios怎么整个手机截屏(ios有哪几种截屏方式)

      技术IOS如何实现手机截屏小编给大家分享一下IOS如何实现手机截屏 ,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!IOS手机截屏 主要步骤1

      攻略 2021年12月24日
    • MYSQL出现Space id in fsp header,but in the page header错误怎么办

      技术MYSQL出现Space id in fsp header,but in the page header错误怎么办这篇文章将为大家详细讲解有关MYSQL出现Space id in fsp header,but in

      攻略 2021年11月6日
    • 怎么对iOS蓝牙执行基于覆盖引导的模糊测试

      技术怎么对iOS蓝牙执行基于覆盖引导的模糊测试本篇内容主要讲解“怎么对iOS蓝牙执行基于覆盖引导的模糊测试”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么对iOS蓝牙执行基

      攻略 2021年10月21日
    • 如何实现基于webpack实现Web工程搭建

      技术如何实现基于webpack实现Web工程搭建这篇文章给大家介绍如何实现基于webpack实现Web工程搭建,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.引言随着互联网前端技术的发展,在前端工

      攻略 2021年12月11日
    • 怎么理解MYSQL的auto_increment_offset和auto_increment_increment值

      技术怎么理解MYSQL的auto_increment_offset和auto_increment_increment值本篇内容主要讲解“怎么理解MYSQL的auto_increment_offset和auto_incre

      攻略 2021年11月18日