2015-07-01 193 views
-1

我在SELECT查询中使用Case语句来返回连接字符串。我想要返回的字符串是一个列值和查询中指定的字符串的串联。t sql连接列名和字符串

我粘贴了下面的代码,拼接部分(粗体)显示为好像它在Excel中。请指导如何在T SQL中完成此操作。

WHEN (InstrumentType = 'Loan' OR InstrumentType = 'LoanF') AND Leg.Principal <0 
THEN CONCATENATE(InstrumentType,' Deposit') 
+0

'然后InstrumentType +'Deposit''如果列是一个字符串,否则'然后cast(InstrumentType as varchar(size_here))+'Deposit' –

+2

MSDN参考:[+(String Concatenation)(Transact-SQL)](https://msdn.microsoft.com/zh-cn/library/ms177561%28v= sql.100%29.aspx) – jpw

+0

非常感谢 - 非常感谢 - 非常有帮助 – user2390698

回答

1

在SQL Server 2008这样的事情应该工作:

SELECT 
    CASE WHEN InstrumentType IN ('Loan','LoanF') AND Leg.Principal < 0 
     THEN InstrumentType + ' Deposit' 
     ELSE 'somethingelse' 
    END AS YourColumn 
FROM dbo.Yourtable 
+0

非常感谢 - 非常感谢 - 非常有帮助 – user2390698

0

试试这个 -

WHEN (InstrumentType = 'Loan' OR InstrumentType = 'LoanF') AND Leg.Principal <0 
THEN InstrumentType+' Deposit' 
+0

“CONCAT”仅在SQL Server 2012中可用.OP提到使用2008版本。 –

+0

Ooops。我没有看到。点接受。 –

+0

非常感谢 - 非常有帮助 – user2390698