在PostgreSQL中,您可以在SELECT语句中使用函数pg_typeof()来获取由SQL查询返回的值的数据类型。
此函数不存在于Redshift中,尽管Redshift的SQL沿袭。
我想这么做:
SELECT pg_typeof(0.25::numeric(5,2)) ;
并得到:
numeric(5,2)
如何获得SQL查询返回的值的数据类型?这是为了帮助我对我的ETL开发进行单元测试。
发布于 2022-01-10 16:18:16
不确定是否可以在用例中使用,但我使用此查询获取Redshift中的类型
SELECT distinct
t.relname as table,
a.attname as column,
pg_catalog.format_type(a.atttypid, a.atttypmod) as type
FROM pg_attribute a
JOIN pg_class t on a.attrelid = t.oid
JOIN pg_namespace s on t.relnamespace = s.oid
WHERE a.attnum > 0
AND NOT a.attisdropped
AND LENGTH(a.attname) > 1
AND s.nspname in ({{schemas}})https://stackoverflow.com/questions/62684748
复制相似问题