EXTRACT関数で期間をスマートに扱う(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社エンジニアの「?」を「!」に。原著者の許諾を得て翻訳・公開いたします。EXTRACT関数で日付をスマートに扱う方法(翻訳)eコマースプラットフォームを実装中に、今年の注文をすべて取り出したくなったとしましょう。Railsでこれをやれる最もシンプルな方法はどんなものがあるでしょうか。次のようなクエリを書くのではないでしょうか。Date.today.beginning_of_year.next_year)これでもやれますが、どうにも不自然な方法で範囲フィルタする必要があります。何らかのネイティブ関数を用いて、一般的なユースケースに耐えうる方法で扱うべきでしょう。そんなことが可能なのでしょうか?実はあるのです。EXTRACT関数とnow()関数を使います。前者はタイムスタンプから現在の年を抽出でき、後者は現在時刻を取り出せます。2つの関数を組み合わせれば、次のようなクエリを書けます。created_at)の関数的インデックスを作成すれは、シーケンシャルスキャンを回避してパフォーマンスを著しく高めることもできます。コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。チュートリアル第2版の監修および半分程度を翻訳、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れて更新翻訳中。enno.jpを運営。実は最近Go言語が好きで、Goで書かれたRubyライクなGoby言語のメンテナーでもある。仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。Storageを使ってはいけない(翻訳)#Tags#会社紹介#自社サービス#勉強会#Rails#PHP#デザイン#実績#週刊RailsウオッチCONTACTお気軽にご相談ください。(翻訳)CONTACTTechRachoでは、パートナーシップをご検討いただける方からのご連絡をお待ちしております。お気軽にご意見・ご相談ください。