Potresti provare un formattatore come questo
Saranno sempre limitati perché non sanno (e non possono) sapere quali funzioni definite dall'utente che potresti aver definito nel tuo database (o quali funzioni integrate hai o non hai accesso).
Potresti anche guardare ANTLR (ma sarebbe una soluzione offline)