在SQL中添加char选择Query

时间:2017-07-27 06:22:19

标签: sql oracle

我是SQL新手。我有一个银行项目,在一个表中有这样的值。

Type    Amount  
-----  -------

Credit   5000    
Debit    2000

Debit    1000........... so on

现在我需要获取这些列。使用Select Statement我可以获取,但我需要附加' - '作为借记金额(如借记'-2000'......)和'+'表示贷记金额。

如何在amount列中附加这些函数使用Select Query。 请帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

您可以在CASE语句中检查借记类型,然后对金额应用-1:

SELECT
Type,
CASE WHEN Type='Debit' THEN (Amount*(-1)) ELSE Amount END AS Value
FROM Table

答案 1 :(得分:1)

对于借记和贷记分别显示-1000和+2000的金额,应该提供像'字符串'那样的金额

select
    Type,
    case
        when Type = 'Credit' then '+' + convert(varchar, Amount)
        else '-' + convert(varchar, Amount)
    end as Amount
from
    tab

答案 2 :(得分:0)

您也可以使用decode而不是case。

将签名值打印为字符串

sessionFactory.setPackagesToScan(new String[] { "com.rg.spring.model" });

将值保留为数字但已签名

select decode(type,'Debit','-','+')||amount as value from tab;