DBIC で範囲指定[DBIC]

このエントリーをはてなブックマークに追加


2007-01-19


期間指定で、データを抽出したい時、当初

my $articles = $schema->resultset('Article')->search(
                                                     {
                                                         created_on => {
                                                              '>' => "2006/01/01 00:00:00",
                                                         },
                                                         created_on => {
                                                             '<=' => "2006/01/05 23:59:59"
                                                         },
                                                     });


でいけるかと思ったんだけど、ダメ。最後のものしか有効にならない。そりゃそうか。

my $articles = $schema->resultset('Article')->search(
                                                     {
                                                         created_on => {
                                                             '>' => "2006/01/01 00:00:00",
                                                             '<=' => "2006/01/05 23:59:59"
                                                         },
                                                     });



とするか、もしくは

my $articles = $schema->resultset('Article')->search(
                                                     {
                                                         created_on => {
                                                             -BETWEEN => [
                                                             "$date 00:00:00",
                                                             "$date 23:59:59",
                                                             ]
                                                         },
                                                     });


が正しいみたい。後者の方が意味がはっきりするのでいいかな?

SELECT
    me.id, me.title, me.publish, me.body, me.created_on
FROM
    article me
WHERE
    ( created_on BETWEEN ? AND ? ): '2007-01-09 00:00:00', '2007-01-09 23:59:59'


こんな感じで SQL が発行されます。



IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ