在SQL选择查询中追加字符
我是SQL新手。我有一个银行项目,在一个表中有这样的值在SQL选择查询中追加字符,sql,oracle,Sql,Oracle,我是SQL新手。我有一个银行项目,在一个表中有这样的值 Type Amount ----- ------- Credit 5000 Debit 2000 Debit 1000........... so on 现在我需要获取这些列。使用Select语句我可以获取,但是我需要为借记的金额添加“-”,为贷记的金额添加“+”(如借记“-2000”…),为贷记的金额添加“+” 如何使用Select查询在“金额”列中追加这些函数。 请帮我解决这个问题。您可以在案例
Type Amount
----- -------
Credit 5000
Debit 2000
Debit 1000........... so on
现在我需要获取这些列。使用Select语句我可以获取,但是我需要为借记的金额添加“-”,为贷记的金额添加“+”(如借记“-2000”…),为贷记的金额添加“+”
如何使用Select查询在“金额”列中追加这些函数。
请帮我解决这个问题。您可以在
案例中执行此操作
对账单检查借方类型,然后对金额应用-1:
SELECT
Type,
CASE WHEN Type='Debit' THEN (Amount*(-1)) ELSE Amount END AS Value
FROM Table
您可以在检查借方类型的
案例
对账单中执行此操作,然后对金额应用-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
要分别显示借方和贷方的-1000和+2000金额,应将这些金额表示为“字符串”
select
Type,
case
when Type = 'Credit' then '+' + convert(varchar, Amount)
else '-' + convert(varchar, Amount)
end as Amount
from
tab
您也可以使用decode而不是case 将带符号的值打印为字符串
select decode(type,'Debit','-','+')||amount as value from tab;
将值保留为数字但带符号
select decode(type,'Debit',-1*amount,amount) as value from tab;
您也可以使用decode而不是case 将带符号的值打印为字符串
select decode(type,'Debit','-','+')||amount as value from tab;
将值保留为数字但带符号
select decode(type,'Debit',-1*amount,amount) as value from tab;
谢谢你宝贵的回复谢谢你宝贵的回复