mysql> SELECT UNHEX(’GG’); +-------------+ | UNHEX(’GG’) | +-------------+ | NULL | +-------------+ 

A NULL  result can occur if the argument to UNHEX()  is a BINARY  column, because values are padded with 0x00  bytes when stored but those bytes are not stripped on retrieval. For example, ’41’  is stored into a CHAR(3)  column as ’41 ’  and retrieved as ’41’  (with the trailing pad space stripped), so UNHEX()  for the column value returns X’41’ . By contrast, ’41’  is stored into a BINARY(3)  column as ’41\0’  and retrieved as ’41\0’  (with the trailing pad 0x00  byte not stripped). ’\0’  is not a legal hexadecimal digit, so UNHEX()  for the column value returns NULL . 

For a numeric argument N , the inverse of HEX( N )  is not performed by UNHEX() . Use CONV(HEX( N ),16,10)  instead. See the description of HEX() . 

If UNHEX()  is invoked from within the mysql  client, binary strings display using hexadecimal notation, depending on the value of the --binary-as-hex . For more information about that option, see Section 4.5.1, “mysql — The MySQL Command-Line Client” . 

• UPPER( str ) 

Returns the string str  with all characters changed to uppercase according to the current character set mapping. The default is utf8mb4 . 

mysql> SELECT UPPER(’Hej’); -> ’HEJ’ 

See the description of LOWER()  for information that also applies to UPPER() . This included information about how to perform lettercase conversion of binary strings ( BINARY , VARBINARY , BLOB ) for which these functions are ineffective, and information about case folding for Unicode character sets. 

This function is multibyte safe. 

UCASE()  used within views is rewritten as UPPER() . 

