2015年12月14日 星期一

Oracle SQL: 把只有小數的數字轉為文字並補上0之作法

直接使用to_char時, 整數位的0不會帶出:

  select to_char(0.123) from dual


單純版, 缺點是整數位只能到個位數, 小數位數只能有3位:

  select to_char(0.123, '0.999') from dual


進階版:

  select rtrim(trim(to_char(12320.123,'9999999990.9999')),'0') from dual

多了rtrim和trim, 用來處理前置的多餘空白和結尾的0.

針對只有整數時, 會多個結尾的點號, 再加個rtrim:

  select rtrim(rtrim(trim(to_char(12320,'9999999990.9999')),'0'),'.') from dual

大功告成.

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。