VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

WEIGHT_STRING

功能描述

WEIGHT_STRING是测试和调试字符集排序规则的函数,用于获取字符串的权重。它返回一个二进制字符串,用于字符串的比较和排序。

注意事项

该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。

语法格式

weight_string(str [as {char|binary}(n)] [level levels]) 

其中levels可以是:

n [asc|desc|reverse] [, n [asc|desc|reverse]] 

参数说明

  • str

    待进行测试权重的输入字符串。

  • as {char|binary}(n)

    AS子句可以将输入字符串转化为CHAR(N)或者BINARY(N)类型。输入字符串如果超过N则会被截断,如果小于N则会被填充空格(AS CHAR)或0(AS BINARY)。

  • level levels

    level 子句来指定计算字符串的修饰方式,仅 AS CHAR 支持。LEVEL 子句后可以增加三种修饰符: ASC、 DESC(bit翻转)、 REVERSE(字节顺序反转),其中仅LEVEL 1 DESC 和 LEVEL 1 REVERSE有效,LEVEL 2 到LEVEL 6 对计算字符串没有处理。

返回值类型

bytea

示例

select hex(weight_string('abc' as char(2) LEVEL 1 DESC));

返回结果为:

   hex
----------
 ffbeffbd
(1 row)