Skip to main content
Solved

SQLExecutor fails with BETWEEN statement

  • December 23, 2025
  • 2 replies
  • 25 views

kateaew
Contributor
Forum|alt.badge.img+11

FME Form 2025.1

SQL Query in SQLExecutor:
 

SELECT * FROM table_name WHERE ID BETWEEN $(polystart) AND $(polyend);

Oracle table

Works fine in DBeaver with actual ID numbers
Fails in FME with actual ID numbers
Fails in FME with User Parameters for the numbers

Error Message:
Execution of statement `SELECT * FROM table_name WHERE ID BETWEEN 35480 AND 35484;' did not succeed; error was `ORA-00933: SQL command not properly ended'.

Does FME just hate a BETWEEN statement?

Going mad trying to figure out where I am going wrong 😂

Best answer by kateaew

I added FME_SQL_DELIMITER ; and removed the last semi colon of the statement and it has worked

For anyone who comes across something similar in the future 

2 replies

kateaew
Contributor
Forum|alt.badge.img+11
  • Author
  • Contributor
  • Best Answer
  • December 23, 2025

I added FME_SQL_DELIMITER ; and removed the last semi colon of the statement and it has worked

For anyone who comes across something similar in the future 


geomancer
Evangelist
Forum|alt.badge.img+61
  • Evangelist
  • December 23, 2025

Just removing the semicolon should be enough, in this case there is no need to add FME_SQL_DELIMITER (tested with FME 2023.1.1 / Oracle 19).