我是SQL新手。我有一个银行项目,在一个表中有这样的值。
Type Amount
----- -------
Credit 5000
Debit 2000
Debit 1000........... so on
现在我需要获取这些列。使用Select Statement我可以获取,但我需要附加' - '作为借记金额(如借记'-2000'......)和'+'表示贷记金额。
如何在amount列中附加这些函数使用Select Query。 请帮我解决这个问题。
答案 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;