创新互联OceanBase教程:OceanBase 字符值

字符数据是根据字符值大小比较的,而字符值则根据以下两种度量进行比较:

水富网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

  • 二进制和语言比较
  • 空白填充或非填充比较语义

二进制和语言比较

二进制比较

在默认的二进制比较中,OceanBase 根据数据库字符集中字符的数字代码的级联值比较字符串。如果一个字符在字符集中的数值大于另一个,则该字符更大。OceanBase 不支持 ASCII 字符集和 EBCDIC 字符集。

语言比较

在语言排序中,SQL 排序和比较都按照 ​NLS_SORT​ 指定的语言规则。若字符编码的二进制序列与字符集要求的语言序列不匹配,则使用语言比较。若 ​NLS_SORT​ 参数的设置不是 ​BINARY​,且 ​NLS_COMP​ 参数设置为 ​LINGUISTIC​,则使用语言比较。

空白填充和非填充比较语义

空白填充比较语义

使用空白填充语义,若两个值的长度不同,则 OceanBase 首先将空格添加到较短的空格的末尾,以便它们的长度相等。然后,OceanBase 逐个字符地比较值,直到第一个不同的字符为止。在第一个不同位置具有较大字符的值被认为较大。如果两个值没有不同的字符,则认为它们相等。此规则意味着两个值仅在尾随空白数上不同时相等。

注意 
只有当比较中的两个值都是数据类型 CHAR、NCHAR、文本文字或 USER 函数返回的值时,OceanBase 就会使用空白填充的比较语义。

非填充比较语义

使用非填充语义,OceanBase 逐个字符地比较两个值,直到第一个不同的字符为止。该位置上具有较大字符的值被认为较大。如果两个不同长度的值在较短的值之前一直相同,则较长的值被认为较大。如果两个长度相等的值没有不同的字符,则认为这些值相等。

注意 
只要比较中的一个或两个值的数据类型为 ​
VARCHAR2​ 或 ​
NVARCHAR​2,OceanBase 就会使用非填充比较语义。

示例

使用不同的比较语义比较两个字符值的结果不同。本示例显示了使用空白填充语义和非填充语义比较。

'ac' > 'ab'

'ac' > 'ab'

'ab' > 'a '

'ab' > 'a '

'ab' > 'a'

'ab' > 'a'

'ab' = 'ab'

'ab' = 'ab'

'ac' > 'ab'

'ac' > 'ab'

'a ' = 'a'

'a ' > 'a'

空白填充

非填充

通常,空白填充和非填充比较的结果是相同的。而最后一行的比较示例说明了空白填充和非填充比较语义之间的区别。

新闻名称:创新互联OceanBase教程:OceanBase 字符值
网站链接:http://www.shufengxianlan.com/qtweb/news15/275915.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联