【发布时间】:2015-12-03 17:08:03
【问题描述】:
如何在 SQL SELECT 语句中执行 IF...THEN?我可以将 Case..then 更改为 IF..THEN,我在 Case..then 中有一些错误
DECLARE @Display Varchar(10) SET @Display = '210120'
DECLARE @ret Varchar(5) SET @ret = '12345'
DECLARE @ret2 Varchar(5) SET @ret2 = '6789'
DECLARE @Custom2 Varchar(10)
SELECT (CASE
WHEN CHARINDEX(LEFT(@Display, 1),@ret) > 0 THEN
SET @Custom2 = 'None'
WHEN CHARINDEX(LEFT(@Display, 1),@ret2) > 0 THEN
SET @Custom2 = @ret+'_'+@Display
END ) as Custom
提前谢谢你
【问题讨论】:
-
不要尝试在选择查询中间设置变量。
-
CASE是一个表达式(如a+b),它返回一个单个原子值——它不是一个流控制语句 可以处理代码块和类似的东西。 -
提示:
CASE表达式也可能有一个ELSE子句来处理任何意外数据。
标签: sql sql-server tsql case