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

2020年7月15日

スポンサーリンク

説明

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

 

引数

引数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;

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

 

実行例

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

 

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

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