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