gpt4 book ai didi

sql - 在 SQL 语句中构建动态 where 条件

转载 作者:行者123 更新时间:2023-12-04 17:22:26 28 4
gpt4 key购买 nike

我想根据存储过程输入构建自定义 Where 条件,如果不是 null 则我将在语句中使用它们,否则我不会使用它们。

if @Vendor_Name is not null
begin

set @where += 'Upper(vendors.VENDOR_NAME) LIKE "%"+ UPPER(@Vendor_Name) +"%"'

end
else if @Entity is not null
begin
set @where += 'AND headers.ORG_ID = @Entity'
end
select * from table_name where @where

但我收到这个错误
An expression of non-boolean type specified in a context where a condition is expected, near 'set'.

最佳答案

用这个 :

Declare @Where NVARCHAR(MAX) 

...... Create your Where

DECLARE @Command NVARCHAR(MAX)
Set @Command = 'Select * From SEM.tblMeasureCatalog AS MC ' ;

If( @Where <> '' )
Set @Comand = @Command + ' Where ' + @Where

Execute SP_ExecuteSQL @Command

我测试了这个并且它有效

关于sql - 在 SQL 语句中构建动态 where 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19090870/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com