0

在 php5 中,我有一个 oracle 查询.. 比方说

select month,max(mydate) as maxdate,sum(cash) as total_cash from mytable group by month

我想通过 PDO OCI 根据每列的类型格式化表格

月=varchar maxdate=日期 total_cash=number

有没有办法从 Oracle 获取列类型?由于我的查询可以更改,我无法查看 oracle 系统表来获取类型:列可以是计算或列的串联

谢谢

4

3 回答 3

0

在 Oracle 中,有一些系统视图允许您查询此信息。

SELECT column_name, data_type FROM dba_tab_columns WHERE table_name = 'mytable';
于 2011-03-22T09:09:00.377 回答
0

如果您在 Oracle 数据库中的权限有限,您仍然可以通过查询找到数据类型

select owner, table_name, column_name, data_type, data_length, data_precision, data_scale, nullable
 from all_tab_columns where table_name = 'MYTABLE';

该视图中有更多感兴趣的列,例如 last_analyzed 和用作优化器输入的其他值。

于 2011-03-22T09:34:41.377 回答
0

PDOStatement::getColumnMeta()在 PDO 中执行此操作的官方方法是在执行查询后调用。在结果集中每列调用一次,其中第 0 列是第一个。

不过,它需要驱动程序支持,而且我不能保证 Oracle 驱动程序。

于 2011-03-22T19:43:07.237 回答