SELECT
case when count(*) > 0 then 'true'
else 'false'
end
FROM
(SELECT
a.attname as Columns,
pg_catalog.format_type(a.atttypid, a.atttypmod) as "Datatype"
FROM
pg_catalog.pg_attribute a
WHERE
a.attnum > 0
AND NOT a.attisdropped
AND a.attrelid = (
SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname ~ '^(views)$'
AND pg_catalog.pg_table_is_visible(c.oid)
)) as a where a.Columns = 'ad_id';
用了上次博客的文章的SQL,通过输入表名和你要判断的列名,他通过返回true或者false来告诉你是否存在。