Functions That Search JSON Values collation, which is case-sensitive; if  utf8mb4  is specified as the character set for the result, the server uses the default collation for this character set, which is not case-sensitive. When the data at the specified path consists of or resolves to a JSON null literal, the function returns SQL  NULL . on_empty , if specified, determines how  JSON_VALUE()  behaves when no data is found at the path given; this clause takes one of the following values: If used,  on_error  takes one of the following values with the corresponding outcome when an error occurs, as listed here: ON EMPTY , if used, must precede any  ON ERROR  clause. Specifying them in the wrong order results in a syntax error. Error handling.   In general, errors are handled by  JSON_VALUE()  as follows: 2360 mysql>  SELECT JSON_VALUE(’{"fname": "Joe", "lname": "Palmer"}’, ’$.fname’); +--------------------------------------------------------------+ | JSON_VALUE(’{"fname": "Joe", "lname": "Palmer"}’, ’$.fname’) | +--------------------------------------------------------------+ | Joe | Examples.   Two simple examples are shown here: JSON_VALUE()  was introduced in MySQL 8.0.21. •The  ON EMPTY  clause is triggered when the source JSON document ( expr ) contains no data at the specified location ( path ). •A conversion error always triggers a warning even if  NULL ON ERROR  or  DEFAULT ... ON ERROR is specified. •Truncation of values •Conversion errors, such as attempting to convert  ’asdf’  to an  UNSIGNED  value •Attempting to extract an object or an array, such as that resulting from a path that resolves to multiple locations within the JSON document • ON ERROR  is triggered whenever any of the following events occur: •All JSON input (document and path) is checked for validity. If any of it is not valid, an SQL error is thrown without triggering the  ON ERROR  clause. • ERROR ON ERROR : An error is thrown. • DEFAULT  value  ON ERROR : This is the value returned; its value must match that of the return type. • NULL ON ERROR :  JSON_VALUE()  returns  NULL ; this is the default behavior if no  ON ERROR  clause is used. • ERROR ON EMPTY : The function throws an error. • DEFAULT  value  ON EMPTY : the provided  value  is returned. The value’s type must match that of the return type. • NULL ON EMPTY : The function returns  NULL ; this is the default  ON EMPTY  behavior.