我如何使用案例条件。 [英] How do I use case condition.
本文介绍了我如何使用案例条件。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用案例条件获得结果如果我想要获取4周然后它可以获取4
或者如果我想要获取5周,那么它可以获得5周。
你可以帮帮我吗。
我尝试过的事情:
在len(周)='24'的情况下,然后周('82','83','84','88','99')
else
当len(周)='19'然后周进('82','83','84','88')
Go
-
解决方案
继续我之前的评论,这是一个具体的例子:
声明 @ c varchar ( 50 )= ' 123456789012345678901234'
声明 @ sql nvarchar (max)= ' select * from xxx
WHERE WEEK in '
IF len( @ c )> 24
BEGIN
SET @sql = @ sql + ' ('''''',''82'',''84'','''83''''
END
ELSE
BEGIN
SET @sql = @sql + ' (''''','''''''''''''''''''''' ','''86'''
END
- PRINT @sql
EXEC sp_sqlexec @ SQL 跨度>
I am using case condition to get a result if i want to fetch 4 weeks then it can fetch 4
or if i want to fetch 5 weeks then it can fetch 5 weeks.
can you please help me out.
What I have tried:
Where case when len(Week)='24' then WEEK IN ('82','83','84','88','99')
else
when len(Week)='19' then WEEK IN ('82','83','84','88')
Go
--
解决方案
Further to my earlier comment here is a specific example:
declare @c varchar(50) = '123456789012345678901234' declare @sql nvarchar(max) = 'select * from xxx WHERE WEEK in ' IF len(@c) > 24 BEGIN SET @sql = @sql + '(''81'',''82'',''84'',''83'')' END ELSE BEGIN SET @sql = @sql + '(''81'',''82'',''84'',''83'',''86'')' END --PRINT @sql EXEC sp_sqlexec @sql
这篇关于我如何使用案例条件。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文