It’s a similar situation to the “!=“ operator. The standard says “<>”, but several databases allow “!=“ as an alternative.
(There seems to be a common goal to make SQL look more like C. Whereas its original designers, IBM, apparently wanted to make it look like COBOL or PL/1. Hmmm.)
Calcite allows “!=“ if SqlConformance.isBangEqualAllowed() returns true (which is true in the LENIENT, ORACLE_10 and ORACLE_12 conformance settings). We could do something similar for “%”. Please log a JIRA case. Contributions welcome.