Question: Does it also match empty string, or only non-empty strings? I have been trying to find a reference unsuccesfully.

Answer: 
Why don't you try it yourself and see? At any rate, here are the docs you were looking for:

> 
> With LIKE you can use the following two wildcard characters in the pattern.
> 
> 
> 
> 
> 
> | Character | Description |
> | --- | --- |
> | % | Matches any number of characters, even zero characters |
> | \_ | Matches exactly one character |
> 
> 
> 

<http://dev.mysql.com/doc/refman/5.6/en/string-comparison-functions.html#operator_like>
Have a look at the following demo to explain 

[SQL Fiddle DEMO](http://www.sqlfiddle.com/#!2/90ae1/2)
-------------------------------------------------------

```
CREATE TABLE Table1(
  ID INT AUTO_INCREMENT,
  Val VARCHAR(50),
     PRIMARY KEY (id)
  );
INSERT INTO Table1 (Val) SELECT 'TEST';
INSERT INTO Table1 (Val) SELECT '';

SELECT *
FROM Table1
WHERE Val LIKE '%'

```

Also from [12.5.1. String Comparison Functions](http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like)

```
% Matches any number of characters, even zero characters

```