2017-07-27 114 views
0

我是SQL新手。我有一个银行项目,在一个表中有这样的价值。在SQL中追加字符select select

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

Credit 5000  
Debit 2000 

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

现在我需要获取这些columns.Using Select语句,我可以取,但我需要追加“ - ”为这所支付的金额(如借记“-2000” ...)和“+”信用额度。

如何在数量列中追加这些函数使用选择查询。 请帮我解决这个问题。

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

回答

0

你也可以使用解码,而不是大小写。

要打印的符号值作为字符串

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

要保留值数量,但签署

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

工作正常。谢谢哥们 – Kiran

1

您可以在CASE声明检查借记卡的类型,然后应用-1量做到这一点目前这些金额像'串'

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

感谢您的宝贵答复 – Kiran

1

要显示量像-1000和+2000借记和信用respecivelly,应该:

+0

Thnks。两者都适合我 – Kiran