Oracle pl/sql查询将空格添加到数字中,使其正确对齐



我有一个查询,它返回的价格是一个数字(16,2)数据类型。

因此,查询SELECT PRICE FROM PRODUCT;

它应该返回

   10.00
 1234.00     --> values are right aligned; space needs to be added to 10.00 
                 to align it with 1234.00

对齐多少空格是动态的,我们知道数据类型的长度是(14,2),所以我想将数字转换为char,并在数字的左侧添加空格。

  SELECT LPAD(p.price , (17 - LENGTH(TO_CHAR(p.price))),' ')  FROM Product.

我尝试了上面的查询,但没有得到正确的结果。

我只是想知道它出了什么问题

LPAD将表达式的最终长度作为第二个参数,而不是添加的字符数:

SELECT LPAD(TO_CHAR(p.price,'99999990D99'),17) FROM Product p

从产品p 中选择LPAD(TO_CHAR(p.price,'99999999 0D009'),17)

最新更新