【PostgreSQL】日付であるかのチェック(IsDate)

2020年6月21日

スポンサーリンク

説明

特定の文字列が日付であるかチェックします(=日付に変換できるかをチェック)。

 

引数

引数1(character varying):チェックする文字列

 

返り値

True:日付である False:日付でない

 

コード

CREATE OR REPLACE FUNCTION isdate(c_day character varying)
  RETURNS boolean AS
$BODY$
declare

	d_temp 		date;  --一時変数

BEGIN

	select cast(c_day as date) into d_temp;

    --castできる時はtrueでリターン
	return TRUE;
	
	EXCEPTION
	WHEN OTHERS THEN
	
	--castできずエラーになる時はfalseでリターン
	return FALSE;

END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION isdate(character varying)
  OWNER TO postgres;

 

実行例

select * from isdate('20190101');
--True

 

他にもこんな関数があります(日付操作の関数)

日付を加算する(Date型)

日付の差を計算する

西暦から和暦へ変換する

曜日を取得する

次の月曜日、火曜日、○曜日を求める(next_day関数)