使数字列上的CONCAT函数右对齐

时间:2014-04-04 20:56:37

标签: sql oracle oracle-sqldeveloper

Select Title, Retail, Cost,
  Concat(Round((Retail-Cost)/Cost*100, 0), '%') "Profit"
From BOOKS;

我这样做是为了一项任务。它完全按照它的设想。除了一个小细节之外,该表格恰好显示了正确的信息。 Profit列左对齐我希望它是正确的。我试图在它的“利润”区域周围应用一个LPAD,但是像Lpad (Concat(Round((Retail-Cost)/Cost*100, 0), '%') "Profit", 5, ' ')但是我一直得到一个错误,我错过了一个错误。如何让别名列右对齐?

1 个答案:

答案 0 :(得分:1)

在所有操作之后你只需要别名:

Lpad (Concat(Round((Retail-Cost)/Cost*100, 0), '%'), 5, ' ') "Profit"

缺少右括号'错误通常并不意味着括号不平衡 - 你有更多的左边而不是右边。它预计会在特定的地方看到一个并看到别的东西,但它并不理解。在这种情况下,我们会看到双引号别名标识符"Profit",它希望看到lpad语法的下一部分。

相关问题