您可以创建一个功能:
create or replace function is_date(s varchar) returns boolean as $$ begin perform s::date; return true; exception when others then return false; end; $$language plpgsql;
然后,您可以像这样使用它:
postgres=# select is_date('January 1,2014'); is_date --------- t (1 row) postgres=# select is_date('20140101'); is_date --------- t (1 row) postgres=# select is_date('20140199'); is_date --------- f (1 row)