【PostgreSQL】曜日を取得する

2020年7月15日

スポンサーリンク

説明

曜日を取得します。

 

引数

引数1(timestamp without time zone):曜日を取得する日(タイムスタンプ)

 

返り値

日 , 月 , 火 , 水 , 木 , 金 , 土 の文字列

 

コード

CREATE OR REPLACE FUNCTION get_dayofweek(t_day timestamp without time zone)
  RETURNS character varying AS
$BODY$
declare
	c_dayofweek	character varying;
begin

	select	case 
	when date_part('dow', t_day) = 0 then '日'	when date_part('dow', t_day) = 1 then '月'
	when date_part('dow', t_day) = 2 then '火'	when date_part('dow', t_day) = 3 then '水'
	when date_part('dow', t_day) = 4 then '木'	when date_part('dow', t_day) = 5 then '金'
	when date_part('dow', t_day) = 6 then '土'	
	else	null
	end	into	c_dayofweek;

	return c_dayofweek;

end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION get_dayofweek(timestamp without time zone)
  OWNER TO postgres;

※PostgreSQL9.5 , 9.6 , 10 , 11 , 12で動作確認済み 自作関数の実行方法はこちら

 

使用例

select * from get_dayofweek(cast('2020/01/01' as date));       --水
select * from get_dayofweek(cast('2020/03/01' as timestamp));  --日

 

PostgreSQLの構文まとめを書いています

入門~経験者まで「基本構文・こんな時どう書くんだっけ?」のまとめ