我是SQL新手。我有一个银行项目,在一个表中有这样的值。
Type Amount
----- -------
Credit 5000
Debit 2000
Debit 1000........... so on
现在我需要获取这些列。使用 Select 语句我可以获取,但我需要为借记的金额附加"-"(如借方"-2000"...(和"+"作为贷记金额。
如何使用选择查询在金额列中追加这些函数。 请帮我解决这个问题。
您可以在检查借方类型的CASE
语句中执行此操作,然后将 -1 应用于金额:
SELECT
Type,
CASE WHEN Type='Debit' THEN (Amount*(-1)) ELSE Amount END AS Value
FROM Table
要特别显示借方和贷方的 -1000 和 +2000 等金额,应该将这些金额显示为"字符串">
select
Type,
case
when Type = 'Credit' then '+' + convert(varchar, Amount)
else '-' + convert(varchar, Amount)
end as Amount
from
tab
您也可以使用解码代替大小写。
将有符号值打印为字符串
select decode(type,'Debit','-','+')||amount as value from tab;
将值保留为数字但有符号
select decode(type,'Debit',-1*amount,amount) as value from tab;