【发布时间】:2021-04-01 00:34:17
【问题描述】:
我在 varchar 中有一个 SQL 查询,如下所示:
declare @dataSourceId varchar(500) = ''
declare @SQL varchar(500) = 'select * from DataSources
where Data is not null
and DataSourceId not in ('+@dataSourceId+')
or Data is not null
and DataSourceId is not null'
如果@dataSourceId 是空字符串'' 那么我想执行条件Data is not null and DataSourceId is not null 但如果@dataSourceId 不是'' 然后执行第一个条件。如何实施此解决方案?
【问题讨论】:
-
@dataSourceId可以包含什么,例如像'7,13,42'这样的值列表?像select FooId from Bar这样的可执行代码呢?如何处理它们有很大的不同。
标签: sql sql-server tsql where-clause dynamic-sql