2

使用下面的语句,我想如果是负数[Invoice_Type_Code] = 'c',如果不是,那么它是正数。

SELECT [Invoice_Amount]
FROM [Forefront].[dbo].[VN_GL_DISTRIBUTION_HEADER_MC]
WHERE [Vendor_Code] ='  UnitedEL' and
[Date_List1]  > '2011-12-31' and
[Date_List1] < '2012-02-01' and
[Company_Code] = 'tmg' 
4

1 回答 1

2

根据您的 RDBMS,使用CASE可以工作——大多数 RDBMS 应该支持它:

SELECT CASE WHEN  Invoice_Type_Code = 'C' THEN -1 ELSE 1 END * Invoice_Amount
FROM [Forefront].[dbo].[VN_GL_DISTRIBUTION_HEADER_MC]
where [Vendor_Code] ='  UnitedEL' and
[Date_List1]  > '2011-12-31' and [Date_List1] < '2012-02-01' and
[Company_Code] = 'tmg' 

这假设所有 Invoice_Amounts 都是正数。如果它们不是正数并且您仍然需要负值,请使用该ABS函数并稍微更改您的 case 语句。

这是小提琴

祝你好运。

于 2013-01-30T16:26:19.110 回答