Cladd::DBI ? なのかどうか追ってないし、疲れたし、帰りたいし。意味不明だし。
ともかく、SQLで DATE_FORMAT(datetime, '%Y-%m-%d') っていうSQLを渡したいんだけど、 結果が 2004-01-0 になっちゃっておかしー。
DATE_FORMAT(datetime, '%Y-%m-%%d') としたら上手くいった。
詳しく追うかなーとおもったけど疲れたし、帰りたいし、さっきも言ったし。
それは Class::DBI のせいっすね。
set_sql で作る場合 sprintf を通るので、SQL につかう % は %% とダブルエスケープしないとだめです。
Ima::DBI の perldoc に
To make up for the limitations of bind parameters, $statement can contain sprintf() style formatting (ie. %s and such) to allow dynamically generated SQL statements (so to get a real percent sign, use '%%'). See sql_* below for more details.
てな具合にあります。(普通わかんないけど)