SP1*_*SP1 1 sql sql-server sql-server-2008
我有以下SQL
DECLARE @ContractTerm int
Declare @FIELDSSingle varchar(max)
SET @ContractTerm = 2
SET @FIELDSSingle += '<td class="HeaderData"> Year ' +If(@ContractTerm = 2)Begin+' This is a sample '+ End + ' </td>'
select @FIELDSSingle
Run Code Online (Sandbox Code Playgroud)
我收到错误关键字附近的语法不正确,如果我运行它.在字符串中我想要的是根据条件隐藏或显示值的逻辑.可以告诉我在这里做错了什么.
这是SQL小提琴
谢谢
IF不是SQL Server中的表达式,您需要使用CASE:
DECLARE @ContractTerm int
Declare @FIELDSSingle varchar(max)
SET @ContractTerm = 2
SET @FIELDSSingle += '<td class="HeaderData"> Year ' +
CASE WHEN @ContractTerm = 2 THEN ' This is a sample ' ELSE '' End +
' </td>';
select @FIELDSSingle;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |