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

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

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

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

SQL Server 2012の教科書 開発編

SQL Server 2012の教科書 開発編

MCP教科書 SQL Server 2012(試験番号:70-462)

MCP教科書 SQL Server 2012(試験番号:70-462)

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