MySQL WEIGHT_STRING() 函数
MySQL WEIGHT_STRING() 函数返回输入字符串的权重。
它接受非二进制字符串作为输入,并返回其权重字符串,该字符串包含排序权重。如果输入字符串是二进制值,则结果与输入字符串相同。这是因为二进制字符串中每个字节的权重就是字节值。
语法
以下是 MySQL WEIGHT_STRING() 函数的语法 -
WEIGHT_STRING(str [AS {CHAR|BINARY}(N)] [flags])
参数
此函数接受一个非二进制字符串值作为参数。
返回值
此函数返回给定字符串的权重。
示例
以下示例使用指定的排序规则 ('utf8mb4_0900_ai_ci') 返回输入字符串 'tutorialspoint' 的权重字符串 -
SELECT WEIGHT_STRING(_utf8mb4 'tutorialspoint' COLLATE utf8mb4_0900_ai_ci);
结果是一个二进制字符串,表示输入字符串的比较和排序值,如下所示 -
| WEIGHT_STRING(_utf8mb4 'tutorialspoint' COLLATE utf8mb4_0900_ai_ci |
|---|
| 0x1E951EB51E951DDD1E331D321C471D771E711E0C1DDD1D321DB91E95 |
如果禁用 --binary-as-hex 值,上述查询的结果将如下所示。要显示不可打印的值,可以使用 HEX() 函数 -
SELECT HEX(WEIGHT_STRING(_utf8mb4 'tutorialspoint' COLLATE utf8mb4_0900_ai_ci));
结果如下 −
| HEX(WEIGHT_STRING(_utf8mb4 'tutorialspoint' COLLATE utf8mb4_0900_ai_ci)) |
|---|
| 1E951EB51E951DDD1E331D321C471D771E711E0C1DDD1D321DB91E95 |
示例
如果您将二进制字符串作为参数传递给此函数,它将返回相同的二进制字符串 -
SELECT WEIGHT_STRING(CAST('test' AS BINARY));
输出结果如下:-
| WEIGHT_STRING(CAST('test' AS BINARY)) |
|---|
| 0x74657374 |
如果禁用 --binary-as-hex 值,上述查询结果将如下所示。要显示不可打印的值,可以使用 HEX() 函数:-
SELECT WEIGHT_STRING(CAST('test' AS BINARY));
生成的结果如下所示 -
| WEIGHT_STRING(CAST('test' AS BINARY)) |
|---|
| test |
示例
您也可以使用 CHAR 或 BINARY 转换字符串 -
SET NAMES 'latin1';
SELECT HEX(WEIGHT_STRING('tutorialspoint' AS CHAR(4)));
结果如下 -
| HEX(WEIGHT_STRING('tutorialspoint' AS CHAR(4))) |
|---|
| 5455544F |
示例
如果将 NULL 作为参数传递给此函数,它将返回相同的 NULL -
SELECT WEIGHT_STRING(NULL);
以下是上述代码的输出 -
| WEIGHT_STRING(NULL) |
|---|
| 0x |
如果禁用 --binary-as-hex 值,上述查询的结果将如下所示。要显示不可打印的值,可以使用 HEX() 函数 -
SELECT WEIGHT_STRING(NULL);
得到的结果如下所示 -
| WEIGHT_STRING(NULL) |
|---|
| NULL |
mysql-weight-string-function.html