比如 select 50 '分' || 0.1 || '秒' from dual;
显示50分.1秒
原因:
查询数字字段时,Oracle对于小于1的小数,小数点前面的0是不显示的。Oracle中会将小数点前的0隐去也会将小数点后的0隐去(例如:0.10会变为.1),因此会得不到我们想要的数值格式。
这种情况可以使用to_char函数
select 50 '分' || to_char(0.1,'fm9999999990.00')|| '秒' from dual;
显示50分0.10秒
关于fm9999999990.00
9代表:如果存在数字则显示数字,不存在则显示空格。
0代表:如果存在数字则显示数字,不存在则显示0,即占位符。
fm代表:删除如果是因9带来的空格,则删除。