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.htm
廣告