スカラりふぁれる

格言「困ったら、Scalarりふぁれる」。

です。はい。

本日もDBICネタですが、DBICのRで困ったらスカラーリファレンスです。はい。


$self->model('User')->search(
{
'me.created_on' => \'IS NULL',
}
)->first;

created_onはDATETIME型とします。
こんな感じで実行すると、


SELECT me.created_on, me.rid, me.id FROM user me WHERE ( me.created_on IS NULL )

こんなSQLが実行されます。
さらに、


$self->model('User')->search(
{
'me.created_on' => \' > NOW()',
}
)->first;

こんな感じで実行すると


SELECT me.created_on, me.rid, me.id FROM user me WHERE ( me.created_on > NOW() )

こんなSQLが実行されます。
簡単ですねぇ。

スカラーリファレンスとは違いますが、


$self->model('User')->search(
{
'DATE(me.created_on)' => DateTime->today->ymd,
}
)->first;
こんな感じで実行すると、


SELECT me.created_on, me.rid, me.id FROM user me WHERE ( DATE(me.created_on) = ? ) : '2006-11-15'

こんなSQLが実行されます。

Oracleのsysdateとかも問題なく使えるはず。
簡単です。はい。