©SQL :: Manager
HomeProgram InformationTechnical detailsFree downloadDonate for a cup of coffee
myway SQL Manager for MySQL and MariaDB, Download on Uptodown
SQL functionMySQLMariaDB

The WEIGHT_STRING SQL Function in MySQL and MariaDB - Comparison value of String

WEIGHT_STRINGSyntax:WEIGHT_STRING(String [AS Format] [LEVEL Level] [Sorting])
Return value:BINARY
Function type:String function
Function Description

The WEIGHT_STRING() function returns a binary string representing the sort and compare value of "String".

A lower-scoring string means that the string will appear before a higher-scoring string when sorted.

If "String" is a non-binary character string (CHAR, VARCHAR or TEXT), WEIGHT_STRING() returns the collation weight of "String".

If "String" is a binary string (BINARY, VARBINARY or BLOB), the return value is equal to the input value because the weight is equal to the byte value.


The optional "Format" clause allows "String" to be converted to a binary or non-binary string. The length can be determined:

AS BINARY(length) measures the length in bytes instead of characters and right pads with 0x00 bytes to the desired length.

AS CHAR(length) measures the length in characters and pads right with spaces to desired length.

The length for "Format" must be at least 1. If the specification is less than the length of "String", the "String" will be truncated.


The optional "Level" clause specifies that the return value should contain weights for specific sorting levels.

The level identifier can be either a single integer, a comma-separated list of integers, or a series of integers separated by a hyphen. Spaces are ignored. Depending on the sorting, the numbers can be between 1 and a maximum of 6 and must be listed in ascending order.

If the "Level" clause is not specified, a default value of 1 to the maximum is assumed for sorting.

If "Level" is specified without using a range, an optional modifier "Sorting" is allowed:

ASC: The default, it returns the weights without modification.

DESC: Returns a bitwise inverted weight.

REVERSE: Returns a weight in reverse order.


If the value of "String" is NULL, the WEIGHT_STRING() function returns NULL.

SQL Examples for the WEIGHT_STRING function

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12

set @x=convert('test' using utf8);

select hex(weight_string(@x));
SELECT HEX(WEIGHT_STRING(@x AS BINARY(4)));
SELECT HEX(WEIGHT_STRING(@x AS CHAR(4)));
SELECT HEX(WEIGHT_STRING(@x LEVEL 1));
SELECT HEX(WEIGHT_STRING(@x LEVEL 1 DESC));
SELECT HEX(WEIGHT_STRING(@x LEVEL 1 reverse));

select WEIGHT_STRING(null);

hex(weight_string(@x))
0054004500530054
HEX(WEIGHT_STRING(@x AS BINARY(4)))
varchar(8) BINARY
74657374
HEX(WEIGHT_STRING(@x AS CHAR(4)))
varchar(16) BINARY
0054004500530054
HEX(WEIGHT_STRING(@x LEVEL 1))
0054004500530054
HEX(WEIGHT_STRING(@x LEVEL 1 DESC))
FFABFFBAFFACFFAB
HEX(WEIGHT_STRING(@x LEVEL 1 reverse))
5400530045005400
WEIGHT_STRING(null)
varchar(0) BINARY
NULL
The examples were created with the MyWAY SQL manager: Download

How to use the WEIGHT_STRING() function in MySQL and MariaDB databases

The WEIGHT_STRING() function in MySQL and MariaDB is used to compare strings using a weight string collation. The function returns an integer indicating the relative weight between two strings. The WEIGHT_STRING() function is primarily used for linguistic sorting and for comparing strings based on their weight. This can be useful in applications where strings need to be sorted or compared based on their linguistic features rather than their binary or case-sensitive order.
VERSIONWEEKWEEKDAYWEEKOFYEARWEIGHT_STRINGYEARYEARWEEK

Further MySQL und MariaDB SQL String functions

CHARCHAR(Character code, [, Charset])
More about CHAR Function

CHRCHR(Character code)
More about CHR Function

CONCATCONCAT(Strings ('str1','str2', ...))
More about CONCAT Function

CONCAT_WSCONCAT_WS(Separator, Strings ('str1','str2', ...))
More about CONCAT_WS Function

ELTELT(Index, Strings ('str1','str2', ...))
More about ELT Function

EXPORT_SETEXPORT_SET(Bits, On, Off [, Separator] [, Number of bits])
More about EXPORT_SET Function

EXTRACTVALUEEXTRACTVALUE(XML, XPath)

FIELDFIELD(Search string, Strings ('str1','str2', ...))
More about FIELD Function

FORMATFORMAT(Number, Decimals [, Region])
More about FORMAT Function

INSERTINSERT(String, Position, Length, String to insert)
More about INSERT Function

LCASELCASE(String)
More about LCASE Function

LEFTLEFT(String, Length)
More about LEFT Function

LOAD_FILELOAD_FILE(File name)

LOWERLOWER(String)
More about LOWER Function

LPADLPAD(String, Length, String to append)
More about LPAD Function

LPAD_ORACLELPAD_ORACLE(String, Length, String to append)
More about LPAD_ORACLE Function

LTRIMLTRIM(String)
More about LTRIM Function

MAKE_SETMAKE_SET(Bits, Strings ('str1','str2', ...))
More about MAKE_SET Function

MIDMID(String, Position [, Length])
More about MID Function

QUOTEQUOTE(String)
More about QUOTE Function

REPEATREPEAT(String, Number)
More about REPEAT Function

REPLACEREPLACE(String, Search, Replace)
More about REPLACE Function

REVERSEREVERSE(String)
More about REVERSE Function

RIGHTRIGHT(String, Length)
More about RIGHT Function

RPADRPAD(String, Length, String to append)
More about RPAD Function

RPAD_ORACLERPAD_ORACLE(String, Length, String to append)
More about RPAD_ORACLE Function

RTRIMRTRIM(String)
More about RTRIM Function

SOUNDEXSOUNDEX(String)
More about SOUNDEX Function

SPACESPACE(Number)
More about SPACE Function

SUBSTRSUBSTR(String, Position, Length)
More about SUBSTR Function

SUBSTRINGSUBSTRING(String, Position, Length)
More about SUBSTRING Function

SUBSTRING_INDEXSUBSTRING_INDEX(String, Delimiter, Number)
More about SUBSTRING_INDEX Function

TRIMTRIM([Type] [, Delete character], , String)
More about TRIM Function

TRIM_ORACLETRIM_ORACLE([Type] [, Delete character], , String)
More about TRIM_ORACLE Function

UCASEUCASE(String)
More about UCASE Function

UPPERUPPER(String)
More about UPPER Function

ASCIIASCII(String)
More about ASCII Function

BIT_LENGTHBIT_LENGTH(String)
More about BIT_LENGTH Function

CHAR_LENGTHCHAR_LENGTH(String)
More about CHAR_LENGTH Function

CHARACTER_LENGTHCHARACTER_LENGTH(String)
More about CHARACTER_LENGTH Function

FIND_IN_SETFIND_IN_SET(Search string, Set of values)
More about FIND_IN_SET Function

INSTRINSTR(String, Search string)
More about INSTR Function

LENGTHLENGTH(String)
More about LENGTH Function

LENGTHBLENGTHB(String)
More about LENGTHB Function

LOCATELOCATE(Search string, String [, Position])
More about LOCATE Function

OCTET_LENGTHOCTET_LENGTH(String)
More about OCTET_LENGTH Function

ORDORD(String)
More about ORD Function

POSITIONPOSITION(Search string IN String)
More about POSITION Function

Numeric functionsString functionsRegular ExpressionsDate and Time functions
Comparison functionsEncryption & CompressionConversion functionsNULL functions
Aggregate functionsWindow functionsJSON functionsGeometric functions
Sequence functionsInformation functionsDynamic ColumnsMiscellaneous functions
More information about the WEIGHT_STRING SQL function: mysql.com and mariadb.com
Updated: 2023-09-17ImprintContactTerms & conditionsPrivacy & CookiesUpdatesSitemapFacebookLinkedinTwitterStatistics©2020-2024 Heino Cunze-Fischer