1

OracleDBのテーブルからレポートを設計するためにJaspersoftiReportツールを使用しています。数値の値を取得しています。テキストに変換したいと思います。

たとえば、取得する値が1652の場合、それを1千5百と2に変換するにはPl/SQL関数が必要です。

利用できる機能はありますか?

4

2 に答える 2

2

数値をタイムスタンプに変換して戻すと、整数の場合にこれを取得できます。

SQL>    select to_char(to_timestamp(lpad( 1652 , 9, '0'), 'FF9' ), 'Ffsp' ) str
  2    from dual;

STR
---------------------------------------------------------------------------
One Thousand Six Hundred Fifty-Two

SQL> select to_char(to_timestamp(lpad( 1502 , 9, '0'), 'FF9' ), 'Ffsp' ) str from dual;

STR
---------------------------------------------------------------------------
One Thousand Five Hundred Two

これはある程度まで機能します(返される文字列のサイズは制限されています)。そうしないと、これを行うために独自の関数を作成する必要があります。

于 2013-02-13T13:03:48.863 に答える
1

このトリックを使用できます:

DECLARE 
   ws_number NUMBER := 30; 
   ws_text   VARCHAR2(60); 
BEGIN 
   ws_text := to_char(to_date(ws_number,'j'), 'jsp'); 
 END;

j数値をユリウス日に変換し、ユリウス日jspの値を返します。このAskTomの投稿で詳しく説明されています

于 2013-02-13T13:02:22.113 に答える