当前位置: 首页 > news >正文

阿里云怎么搭载wordpress/适合seo软件

阿里云怎么搭载wordpress,适合seo软件,建设网站 如何给文件命名,计算机方向网站建设毕业论文JSON值的比较和排序JSON值可以使用&#xff0c;&#xff0c;>&#xff0c;<>&#xff0c;!&#xff0c;和<>运算符进行比较。JSON值尚不支持以下比较运算符和函数&#xff1a;●BETWEEN●IN()●GREATEST()●LEAST()要想使用上面这些列出的比较运算符和函数&…

JSON值的比较和排序

JSON值可以使用=,,>=,<>,!=,和<=>运算符进行比较。

JSON值尚不支持以下比较运算符和函数:

●BETWEEN

●IN()

●GREATEST()

●LEAST()

要想使用上面这些列出的比较运算符和函数,一个解决方法是将JSON值转换为原生MySQL数值或字符串数据类型,以便它们具有一致的非JSON标量类型。

JSON值的比较在两个级别进行。第一级比较基于所比较值的JSON类型。如果类型不同,则比较结果仅由哪个类型具有更高的优先级来确定。如果这两个值具有相同的JSON类型,则使用特定于类型的规则进行第二级比较。

下面的列表显示了JSON类型的优先级,从最高优先级到最低优先级。(类型名是由JSON_TYPE()函数返回的类型)同一行中显示的类型具有相同的优先级。列表中前面列出的JSON类型的值都比列表中后面列出的JSON类型的值大。

e4e9fe3e2415b06f254879637cbf3dca.png

对于具有相同优先级的JSON值,比较规则是依据于特定类型的:

●BLOB

比较两个值的前N个字节,其中N是较短值的字节数。如果两个值的前N个字节相同,则短值排在长值之前。

●BIT

与BLOB规则相同。

●OPAQUE

与BLOB规则相同。OPAQUE值是指不属于其他类型的值。

●DATETIME

表示较早时间点的值排在表示稍后时间点的值之前。如果两个值最初分别来自MySQL DATETIME和TIMESTAMP类型,那么如果它们表示相同的时间点,那么它们是相等的。

●TIME

两个时间值中较小的一个排在较大的时间值之前。

●DATE

较早的日期排在较近的日期之前。

●ARRAY

如果两个JSON数组的长度相同,并且数组中相应位置的值相等,则它们是相等的。

如果数组不相等,则它们的顺序由第一个位置有差异的元素决定。该位置值较小的数组排在前面。如果较短数组的所有值都等于较长数组中的相应值,则较短数组排在前面。

例子:

d6c116e90787c19312a8917d3ca4fd09.png

●BOOLEAN

JSON false字面量小于JSON true字面量。

●OBJECT

如果两个JSON对象具有相同的键集,并且每个键在两个对象中都具有相同的值,那么它们是相等的。

例子:

a501cc80641beb011d86a8c5073416bc.png

●STRING

两个字符串比较前N个字节,这些字节以utf8mb4编码表示,并按照字典顺序排列,其中N是较短字符串的长度。如果两个字符串的前N个字节相同,则认为较短的字符串比较长的字符串小。

例子:

0ffe09b3228def82bceafada88edacf7.png

此排序相当于使用排序规则utf8mb4_bin对SQL字符串进行排序。由于utf8mb4_bin是二进制排序规则,因此JSON值的比较区分大小写:

ff0b84d362bce7b3e19618b902fa02d6.png

●INTEGER, DOUBLE

JSON值可以包含精确的数值和近似的数值。

在JSON值中比较数字的规则与原生MySQL数值类型的比较规则有些不同:

■ 在分别使用原生MySQL INT和DOUBLE 数字类型的两个列之间的比较中,所有比较都涉及一个整数和一个双精度类型,因此所有行,整数都转换为双精度类型。也就是说,精确的数值被转换成近似的数值。

■ 另一方面,如果查询比较两个包含数字的JSON列,则无法预先知道数字是整数还是双精度。为了在所有行中提供最一致的行为,MySQL将近似值数字转换为精确值数字。结果排序是一致的,并且精确值不会丢失精度。例如,给定标量9223372036854775805、9223372036854775806、9223372036854775807和9.223372036854776e18,顺序如下:

8f9b76dba626cd778cc1b1498fdf50fc.png

如果JSON比较使用非JSON数值比较规则,则可能会出现顺序不一致的情况。通常的MySQL数字比较规则会产生以下顺序:

■ 整数比较:

3eb9203473c372d61865fa6d1f6683a1.png

■ 双精度比较:

c6c5fade4664883888b847ab0b75ffe1.png

对于任何JSON值与SQL NULL的比较,结果是未知的。

为了比较JSON和非JSON值,非JSON值根据下表的规则转换为JSON,然后按照前面的描述进行比较。

在JSON和非JSON值之间的转换

下表汇总了MySQL在JSON值和其他类型值之间转换时遵循的规则:

59896660530539d4b7fd9d4f3453dc4f.png

JSON值的ORDER BY和GROUP BY处理基于以下原则:

●标量JSON值的排序使用与前面讨论中相同的规则。

●对于升序排序,SQL NULL顺序在所有JSON值(包括JSON null字面量)之前;对于降序排序,SQL NULL顺序位于所有JSON值(包括JSON null字面量)之后。

●JSON值的排序键由max_sort_length系统变量的值绑定,因此第一个max_sort_length字节相同,之后才不同的键被认定为相等。

●当前不支持对非标量值进行排序,会出现警告。

对于排序,将JSON标量转换为其他一些原生MySQL类型是有益的。例如,如果名为jdoc的列包含JSON对象,该对象有一个成员由id键和非负值组成,则使用此表达式按id值排序:

d8438e2dca12b7d5bc68146eb9377f3a.png

如果有一个生成的列被定义为使用与ORDER BY中相同的表达式,MySQL优化器会识别出这一点,并考虑将索引用于查询执行计划。

JSON值聚合

对于JSON值的聚合,SQL NULL值被忽略,就像在其他数据类型中一样。非NULL值将转换为数值类型并进行聚合,但MIN()、MAX()和GROUP_CONCAT()除外。如果JSON的值是数值标量,转换成数字是有意义,尽管(取决于值)可能会发生截断和精度损失。其他JSON值转换成数量可能不会产生有意义的结果。

文章来源: blog.51cto.com,作者:数据杂货铺,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.51cto.com/15023289/2560978

http://www.lbrq.cn/news/1849933.html

相关文章:

  • 网页设计基础介绍/嘉兴seo外包服务商
  • 浙江信息港官网首页/seo公司优化
  • 汕头企业做网站/故事式软文范例100字
  • 淮北做网站公司/湖南专业关键词优化服务水平
  • 专业商城网站制作公司/爱客crm
  • 长治哪里能找到做网站的技术员/搜索引擎优化的作用
  • 1元建站/属于b2b的网站有哪些
  • 怎么样做一个个人网站/网络推广及销售
  • 建设网站网络公司/长沙正规seo优化公司
  • 同一个ip网站太多 seo/b站免费版入口
  • 做电影数据的网站/百度云网页版入口
  • 门户网站建设服务/网上交易平台
  • wordpress存放的目录在/鼓楼网站seo搜索引擎优化
  • 抚州建站速建网站/百度关键词竞价价格查询
  • 网站设计多少钱一个/市场营销是做什么的
  • 网站建设培训哪家好/广州公关公司
  • 手机论坛网站模板/网站推广业务
  • 网站按内容分可以分为/中国互联网域名注册服务机构
  • wordpress本地网站怎么搬到服务器/网络公司网络推广
  • 河南省人民政府工作规则/天津seo数据监控
  • wordpress图纸管理网站/百度地图关键词排名优化
  • 如何做婚恋网站/厦门seo排名收费
  • 编程序可以做网站吗/中国搜索引擎
  • 东莞模板网站/百度公司官网招聘
  • 怎么做网站的动效/网络营销专业是学什么的
  • 计算机网站开发毕业论文题目大全/百度智能建站系统
  • 罗湖网站建设价格/今日国际新闻头条15条简短
  • wordpress手动上传图片/关键词分布中对seo有危害的
  • 国外网页设计网站/百度快照是什么意思
  • 中国建设银行网站办的卡真实吗/百度信息流广告代理
  • Python初学者笔记第十四期 -- (自定义模块与包)
  • 在百亿流量面前,让“不存在”无处遁形——Redis 缓存穿透的极限攻防实录
  • [AI-video] Web UI | Streamlit(py to web) | 应用配置config.toml
  • 从零开始的云计算生活——第三十二天,四面楚歌,HAProxy负载均衡
  • HAProxy双机热备,轻松实现负载均衡
  • [数据结构]#3 循环链表/双向链表