SQLite-DBで、月曜日にすべてのエントリを選択したいと思います。
どうすれば続編でそれを行うことができますか?
テスト例:
require 'sequel'
DB = Sequel.sqlite()#'test.db')
DB.create_table(:days) do
String :text
Date :start
end
Date.today.upto(Date.today + 30){|d|
DB[:days].insert( :text => d.strftime("%Y-%m-%d day %w in week %W"), :start => d)
}
すべての月曜日を選択するにはどうすればよいですか?
ネイティブSQLで私ができること:
select * from days where strftime("%w", start) = "1"
これを使用して、ビューを定義し、それを選択できます。
DB.run('create view mondays as select * from days where strftime("%w", start) = "1"')
p DB[:mondays].all
でも、続編から使いたいです。
私は試した
sel = DB[:days].filter{ start.strftime("%w", :start) == '1' }
#NoMethodError
sel = DB[:days].filter{ Sequel::SQL::Function.new(:strftime, "%w", :start) == '1' }
#SELECT * FROM `days` WHERE (1 = 0)
しかし、成功しませんでした。
他に解決策はありますか?
時間帯ごとにアイテムを選択する可能性も探しています(すべてのアイテムにタイムスタンプがあり、12:00〜13:00まで...)これは同じ問題であり、その日の解決策だと思います週の選択も私の他の問題を解決します。