ActiveRecord で like 'hoge%' とかやると

期待した動作にならない。

Hoge.find(:all, :conditions=>["name like '%hoge'"])

とかやると,条件節が有効にならずに全件ヒットしてしまう。"name like '%%hoge'" と,%を2つ重ねるとOKみたい。なんでだろう。%って特別な意味を持っているのかなあ。script/consoleからやってると,

The string:name like '%hoge'
args:[]

なんて微妙なメッセージが出る。ううう。なんだろう。

【追記】
少しマジメに書けば大丈夫だった。

Hoge.find(:all, :conditions=>["name like ?", '%hoge'])

AWDwR 第二版でいうとp.298あたりがヒント。