« iPod nano が充電できなくなった | トップページ | [Soft] Vagrant と Ubuntu 16.04 »

2016年2月29日 (月)

[Rails] Rails というか ActiveRecord というか Arel で SQL の case

いろいろ調べてみたが、Rails 5 beta3 でもまだ駄目だった。

<https://github.com/rails/arel/pull/400>

が arel にマージされているので近い将来には、arel を使えば、SQL の case に相当するものを arel を使って書けると思われる。

Rails 5 beta3 でインストールされるのは、arel-7.0.0 だったが、これには 残念ながら、含まれていなかった。

なので、普通に case を文字列で渡してやるしかない。

scope :sel_case_col1, -> { select( "case when col1 = 'AAA' then 'aaa' else col1 end as col1" ) }

|

« iPod nano が充電できなくなった | トップページ | [Soft] Vagrant と Ubuntu 16.04 »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Rails] Rails というか ActiveRecord というか Arel で SQL の case:

« iPod nano が充電できなくなった | トップページ | [Soft] Vagrant と Ubuntu 16.04 »