JDBC経由でSQLを実行するとスカラー変数を宣言しろとエラーになる

事象

SQLServerに対してJDBC経由でSQLを実行すると、
スカラー変数"@P0AND"を宣言してください。
というエラーが発生する。
Management Studioやsqlcmdなどで同じSQL文を実行しても、上記エラーは発生しなかった。

原因

パラメータマーカーと文の間にスペースが無かっただけであった。。。
("select * from HOGE WHERE a=?b=SCHEMA_NAME()"みたいな文を書いていた…。)

すぐに分からなかった理由

パラメータマーカーの後ろの条件文に関数を用いていた。
そのため、関数を用いる際に何かが足りていないのかとそちらばかり目を向けてしまっていた。

SQL Server 2014に関する本が少ないので、しばらくはこの2冊がお勧めな気がします。
(買うのが嫌ならMSDN)