Sql 选择Select语句的列名称
我有一些select语句,其中之一:Sql 选择Select语句的列名称,sql,postgresql,Sql,Postgresql,我有一些select语句,其中之一: SELECT c_c.id, c_c.full_name, c_c.telephone, c_c.fax, cast(c_c.adress_juridical as varchar(256)) as adress_juridical, cast(c_c.adress_naturale as varchar(256)) as adress_naturale, c_c.direc
SELECT c_c.id,
c_c.full_name,
c_c.telephone,
c_c.fax,
cast(c_c.adress_juridical as varchar(256)) as adress_juridical,
cast(c_c.adress_naturale as varchar(256)) as adress_naturale,
c_c.director,
c_c.name,
c_c.b_id,
c_c.dt_start,
c_c.dt_end
FROM c_counteragents c_c
WHERE c_c.id = -1 AND c_c.b_id = -1;
如何获取select语句的名称?
此select的列名称必须不带alliasc\u c
。
仅仅获取一个表名并查找表的列名并不容易。我不知道表的名称,因为我从某个表中检索到这个
SELECT
语句,它以文本形式存储的位置。您的意思是需要在列标题中为id(如c_counteragents.id)输出吗?一种方法是使用查询创建视图,然后在信息\u SCHEMA.columns
中使用列名。您使用的是什么语言和客户端驱动程序?PostgreSQL在v3 wire协议中的description
消息响应中报告此信息,但据我所知,您无法从SQL级别获得此信息。您需要使用客户端驱动程序的元数据函数。PgJDBC公开了这些信息,我不知道是否有许多/任何其他驱动程序公开了这些信息。SELECT*FROM information_schema.columns,其中table_name='c_counteragents'按顺序排列
,但您需要表名。