如果我有这个表TableABC
并且它有一些字段/列,而不是说它有很多字段/列col1, col2, col3.....
说 upto 10
or 20
,那么计数现在并不重要。关键是,我想知道,如果我们要求用户输入,说@input varchar(max)
或类似的东西,我想知道的是......
我如何选择一行,如果此输入出现在该行的任何列中,我的意思是如果col1=@input
还有 ifcol2=@input
等也会选择该行..
现在正如我所说的列数无关紧要,重要的是我们不提前知道列,以便我们可以做类似的事情
where
col1 = @input
or
col2 = @input
我们不能那样做。我已经通过说从表中获取列的名称
SELECT [name] FROM sys.Columns WHERE [Object_id]=Object_id(N'TableABC')
这会给我们所需表中的 col 名称,现在我不知道我们可以用它们做什么,或者这在我描述的场景中是否有用?那么,解决方案是什么?
最后,如果有人可能会问,我将在哪里使用它,或者我的要求是什么,让我明确它不是为了(至少到目前为止!)实际实施,我只是想知道它是否可能,如果是这样, 如何?我希望我说清楚了。