New versions: Dev (3.15) | Latest (3.14) | 3.13 | 3.12 | 3.11

SQL Parser CLI

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

The Parser API can be used as a translator between source and target dialects programmatically, as we've seen in the previous section about the parser API. This functionality can also usefully be accessed on the command line as shown below:

$ java -cp jooq-3.14.0.jar:reactive-streams-1.0.2.jar org.jooq.ParserCLI -h
Usage:
  -f / --formatted                                              Format output SQL
  -h / --help                                                   Display this help
  -k / --keyword                            <RenderKeywordCase> Specify the output keyword case (org.jooq.conf.RenderKeywordCase)
  -i / --identifier                         <RenderNameCase>    Specify the output identifier case (org.jooq.conf.RenderNameCase)
  -Q / --quoted                             <RenderQuotedNames> Specify the output identifier quoting (org.jooq.conf.RenderQuotedNames)
  -F / --from-dialect                       <SQLDialect>        Specify the input dialect (org.jooq.SQLDialect)
  -T / --to-dialect                         <SQLDialect>        Specify the output dialect (org.jooq.SQLDialect)
  -s / --sql                                <String>            Specify the input SQL string

Commercial distribution only features:
  --transform-ansi-join-to-table-lists
  --transform-rownum
  --transform-table-lists-to-ansi-join
  --transform-unneeded-arithmetic           <TransformUnneededArithmeticExpressions>

  -I / --interactive                                            Start interactive mode

$ java -cp jooq-3.14.0.jar:reactive-streams-1.0.2.jar org.jooq.ParserCLI -T ORACLE -s "SELECT substring('abcde', 2, 3)"
select substr('abcde', 2, 3) from dual;

Windows users: Please replace : by ; in the above examples.

Another way to use this API is the https://www.jooq.org/translate website.

The jOOQ Logo