トップページに戻る    次のSQLパズルへ    前のSQLパズルへ

7-37 負数でなかったら空白を付加

SQLパズル

テーブル
Val
---
12
0
-12

数値が、負数でなかったら、
先頭に空白一文字を付加する。

出力結果
変換前  変換後
------  ------
-12     -12
0        0
12       12


SQL

col 変換後 for a20

select Val as 変換前,
Replace(to_char(Val,'S99'),'+',' ') as 変換後
from (select  12 as Val from dual
union select   0 from dual
union select -12 from dual)
order by Val;


解説

Replace関数とto_char関数を組み合わせてます。