ESCAPE只作用于它前面的转义字符,不是全局的,如果有多个需要转义,就要添加多个ESCAPE
SELECT * FROM MYTABLES t
WHERE 1 = 1
AND (LOWER(USERNAME) LIKE
LOWER('%' || 'ZHANG\_' || '%') ESCAPE '\' OR
LOWER(USERACCOUNT) LIKE LOWER('ZHANG\_' || '%') ESCAPE '\' OR
LOWER(DEPART) LIKE LOWER('ZHANG\_' || '%') ESCAPE '\' )