SQL文のプリペアドステートメントにある「!(エクスクラメーション)」
これは以下参照サイトにあるようにプレースホルダのようだが、
プレースホルダには以下の3種類があります。? --- クォート処理する文字列
! --- クォート処理しない文字列
& --- バイナリデータを登録するためにファイル名
ここで注意
「!」はSQLにおいても否定の演算子の意味をもつ。
<>, !=等しくない :
mysql> SELECT '.01' <> '0.01';
-> 1
mysql> SELECT .01 <> '0.01';
-> 0
mysql> SELECT 'zapp' <> 'zappp';
-> 1
おそらく構文上、演算子に前置される場合などは除外しているのだろうけど、混同しやすい。