Skip to content

Instantly share code, notes, and snippets.

@yancya
Created October 10, 2013 02:00
Show Gist options
  • Save yancya/6911876 to your computer and use it in GitHub Desktop.
Save yancya/6911876 to your computer and use it in GitHub Desktop.
PostgreSQL 9.2 以降で使える Range 型の使い方
-- 日付の内包状況
select daterange('2013-08-01', '2013-08-31', '[]') @> '2013-08-13'::date; -- t
select daterange('2013-08-01', '2013-08-31', '[]') @> '2013-09-13'::date; -- f
-- 範囲の重なり
-- [ は「以上」、 ] は「以下」
select daterange('2013-08-01', '2013-08-31', '[]') && daterange('2013-08-31', '2013-09-30', '[]'); -- t
select daterange('2013-08-01', '2013-08-31', '[]') && daterange('2013-09-01', '2013-09-30', '[]'); -- f
-- ( は「より大きい」、) は「未満」
select daterange('2013-08-01', '2013-08-31', '[]') && daterange('2013-08-31', '2013-09-30', '()'); -- f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment