前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL函数 %EXACT

SQL函数 %EXACT

作者头像
用户7741497
发布2022-04-02 12:31:59
8310
发布2022-04-02 12:31:59
举报
文章被收录于专栏:hml_知识记录hml_知识记录

SQL函数 %EXACT

排序规则函数,可将字符转换为精确的排序规则格式。

大纲

代码语言:javascript
复制
%EXACT(expression)

%EXACT expression

参数

  • expression - 字符串表达式,可以是列名、字符串文字、数字或另一个函数的结果,其中底层数据类型可以表示为任何字符类型(如CHARVARCHAR2)。

描述

%Exact返回精确排序规则序列中的表达式。此归类序列按如下方式对值进行排序:

  1. NULL排序在所有实际值之前。%Exact对空值没有影响。这与默认排序规则相同。
  2. 规范数值(无论输入为数字还是字符串)在字符串值之前按数字顺序排序。
  3. 字符串值按区分大小写的字符串顺序排序。字符串的精确排序顺序与ANSI标准的ASCII排序顺序相同:数字在大写字母字符之前排序,大写字母字符在小写字母字符之前排序。标点符号出现在序列中的多个位置。

这将导致如下所示的序列:

代码语言:javascript
复制
NULL
-2        /* 规范数排序 */
0
1
2
10
22
88
''         /* 空字符串 */
#          /* 逐个字符的字符串排序 */
-00        /* 非规范数字排序为字符串 */
0 Elm St.  /* 逐个字符的字符串排序 */
022        /* 非规范数字排序为字符串 */
1 Elm St.  
19 Elm St.
19 elm St. /* 字符串排序规则区分大小写 */
19Elm St.
2 Elm St.
201 Elm St.
21 Elm St.
Elm St.

%Exact通常用于按区分大小写的顺序排序包含字母的字符串值。SQL的默认设置是将所有字母转换为大写,以便进行排序。

%Exact是扩展,用于SQL查找查询。

可以在ObjectScript中使用%SYSTEM.Util类的COLLATION()方法执行相同的排序规则转换。

%Exact将输入字符串作为完全数字(规范)或混合字符字符串进行排序,在混合字符串中,数字与任何其他字符的处理方式相同。与%MVR排序规则相比,%MVR排序规则根据字符串中的数字子字符串对字符串进行排序。

DISTINCT 和 GROUP BY

DISTINCT子句和GROUP BY子句根据它们的大写默认排序规则对值进行分组,并返回全部大写字母的值,即使实际数据值都不是全部大写字母也是如此。

  • 可以使用%EXACT按大小写敏感值对值进行分组:按%EXACTmytable group中选择Name(Name)
  • 可以使用%Exact返回每个组的实际区分大小写的值:从MyTable GROUP BY NAME中选择%Exact(Name)

注:默认情况下,SQL索引以大写默认排序规则表示字符串数据。因此,指定精确排序规则可能会阻止使用可能会对性能产生重大影响的索引。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SQL函数 %EXACT
  • 大纲
  • 参数
  • 描述
  • DISTINCT 和 GROUP BY
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档