首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使这条IF语句跳到另一条if语句?

如何使这条IF语句跳到另一条if语句?
EN

Stack Overflow用户
提问于 2012-10-17 15:50:05
回答 1查看 139关注 0票数 0

如何使这个If语句跳到下面的if语句?然后,我尝试了其他if,但它不起作用。我希望无论是否将输入传递给变量,它都会显示出来。

代码语言:javascript
复制
declare @sql varchar(8000)
declare @sql_where varchar(8000)

declare @ww varchar(10)
declare @plant varchar(10)
declare @plnr_id varchar(10)

set @plant = 'CS58'
set @ww = '201240'  
set @plnr_id = 'G37'

set @sql_where = 'where'
set @sql = 'select * from  rout_sub_doi '

if len(@plant) > 0 
    set @sql_where = @sql_where + ' plant = ''' + @plant + ''' '

if len(@ww) > 0
    set @sql_where = @sql_where + 'AND sys_intel_ww = ''' + @ww + ''' '

if len(@plnr_id) > 0 

    set @sql_where = @sql_where + ' AND plnr_id = ''' + @plnr_id + ''' '


print @sql
print @sql_where

exec (@sql + @sql_where )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-17 16:18:19

处理未知数量的条件的常见方法是,在已知id不可为空的情况下,将第一个条件设为WHERE 1=1WHERE id IS NOT NULL等良性条件。

代码语言:javascript
复制
declare @sql varchar(8000)
declare @sql_where varchar(8000)

declare @ww varchar(10)
declare @plant varchar(10)
declare @plnr_id varchar(10)

set @plant = 'CS58'
set @ww = '201240'  
set @plnr_id = 'G37'

set @sql_where = ''
set @sql = 'select * from rout_sub_doi where 1=1 '

if len(@plant) > 0 
    set @sql_where = @sql_where + 'AND plant = ''' + @plant + ''' '

if len(@ww) > 0
    set @sql_where = @sql_where + 'AND sys_intel_ww = ''' + @ww + ''' '

if len(@plnr_id) > 0 
    set @sql_where = @sql_where + 'AND plnr_id = ''' + @plnr_id + ''' '

print @sql
print @sql_where

exec (@sql + @sql_where )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12929577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档