Hola richardo8825,
No entiendo bien la lógica de la consulta, sin embargo, puedes usar algo como:
Código SQL:
Ver originalSET @tuvariable = ''; /* Test 1 */
/* SET @tuvariable = 'algo'; */ /* Test 2 */
SELECT * FROM usuarios WHERE
(username = @tuvariable OR IF(CHAR_LENGTH(TRIM(@tuvariable)) > 0, @tuvariable, NULL) IS NULL)
AND
(nombre = @tuvariable OR IF(CHAR_LENGTH(TRIM(@tuvariable)) > 0, @tuvariable, NULL) IS NULL);
Espero te sea útil.