我有一个查询,它返回的价格是一个数字(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)