2011-12-16 8 views
1

出力を整形式テキストにするようにクエリを作成したいと思います。それぞれの列の幅は特定の文字数になります。問合せによって戻される列の値が列の文字数より小さい場合、残りの文字は、列が数値を表す場合は「0」、ifの場合は「」として通知されます。列は文字列を表します。出来ますか?クエリの文字数が固定のPL/SQL列のマスク

おかげで、

チアゴ

+4

個人的には、プレゼンテーション層ではなく、データベースでの表示/書式設定の問題を処理します。 –

+0

@JoeStefanelli - 同意します。データベース内のものをフォーマットしようとすると、あらゆる種類の悪の根源になります。その方法は、多価値の列のようなもので、狂気を欺くものです。 –

+1

は、古い学校のレポートの書式のように聞こえます。出力区切りファイル(csv)はどのようにしてExcelで開くのですか?ちょっとした考え。経営陣はExcelを好む;-) – tbone

答えて

1

まあ、専門家はそれに対してあなたを警告してきたが、ここでは、次のとおりです。

select case when REGEXP_replace (DUMP (varchar2_column), '^Typ=(\d+).*', '\1') = 1 then lpad(varchar2_column, 10, ' ') 
      else null end varchar2_column, 
     case when REGEXP_replace (DUMP (number_column), '^Typ=(\d+).*', '\1') = 2 then lpad(number_column, 10, 0) 
      else null end number_column 
    from table 

データ型(ダンプから): http://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements001.htm#BABCGCHG

オラクル正規表現:http://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm

私はダンプ機能のリンクを掲載しますが、私の評判は、まあです...あなたはGoogleにすることができます。

関連する問題