随時追記しますよ〜
boolean型の列を作ってorder by句で使いたい場合、true
の方がfalse
より大きいとみなされる。だから例えば、タスクの一覧をSQLで取得するときにスターが付いている(is_starred = true
)ものを先に表示したい場合は、order by is_starred desc
と指定してSQLを組み立てれば先に表示させることができる。
「タグ」が保存されている場合など、全部小文字にした上で検索したい場合に。配列の中身を全部小文字にする関数を定義してそれを通す感じにすると便利。
create function array_lower(t text[]) returns text[]
as
$$
select lower($1::text)::text[]
$$ language sql;