0

php5では、私はOracleクエリを持っています..言ってみましょう

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

PDO OCI を使用して、各列の型に従ってテーブルをフォーマットしたいと思います

month=varchar maxdate=日付 total_cash=数値

Oracle から列の型を取得する方法はありますか? クエリを変更できるため、Oracle システム テーブルを調べてタイプを取得することはできません: 列は計算または列の連結である可能性があります

ありがとう

4

3 に答える 3

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

Oracle には、この情報を照会できるシステム ビューがあります。

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

PDO でこれを行う公式の方法はPDOStatement::getColumnMeta()、クエリを実行した後に呼び出すことです。結果セットの列ごとに 1 回呼び出します。列 0 が最初です。

ただし、ドライバーのサポートが必要であり、Oracle ドライバーを保証することはできません。

于 2011-03-22T19:43:07.237 に答える