我需要知道表格的列类型名称,到目前为止我还在使用此查询:
SELECT column_name as name,
data_type as type
FROM information_schema.columns
WHERE table_name = 'MY_TABLE';
问题是对于像geometry
(POSTGIS)这样的数据类型,它返回USER-DEFINED
而不是geometry
。
有没有办法获得正确的列类型名称?
答案 0 :(得分:1)
我现在无法测试,但根据information_schema.columns
的{{3}}:
DATA_TYPE
列的数据类型(如果是内置类型)或ARRAY(如果是) 一些数组(在这种情况下,请参见视图element_types),否则 USER-DEFINED(在这种情况下,类型在udt_name和 相关列)。如果列基于域,则此列 指域的基础类型(并且域被识别 在domain_name和相关列中。)
因此,列udt_name
可能包含您想要的内容。