我如何使用案例条件。 [英] How do I use case condition.

查看:68
本文介绍了我如何使用案例条件。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用案例条件获得结果如果我想要获取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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆