in reply to SQL Placeholder oddity

I think this is expected behavior.  Placeholders aren't a general text templating mechanism to substitute arbitrary components of a query.  As the docs mention:

With most drivers, placeholders can't be used for any element of a statement that would prevent the database server from validating the statement and creating a query execution plan for it. For example:

"SELECT name, age FROM ?" # wrong (will probably fail) "SELECT name, ? FROM people" # wrong (but may not 'fail')