小编spa*_*k75的帖子

当过滤器是逗号分隔的值列表时如何过滤记录

我有一个表,其中有一列包含一串逗号分隔值 (CSV)。

例如 VALUE1、VALUE2、VALUE3

作为过滤器传入的是另一组 CSV。

例如 VALUE2、VALUE3

所以在上面的例子中,查询应该返回任何过滤器值在 CSV 列中的任何记录。

例子

declare @table table
(
    rownum int,
    csv nvarchar(300)
)

insert into @table values (1,'VALUE1, VALUE2, VALUE3')
insert into @table values (2,'VALUE1, VALUE2')
insert into @table values (3,'VALUE1, VALUE3')
insert into @table values (4,'VALUE3, VALUE4')
insert into @table values (5,'VALUE1, VALUE2, VALUE3')
insert into @table values (6,'VALUE3, VALUE4, VALUE2')
insert into @table values (7,'VALUE3')

declare @Filter nvarchar(50)

set @Filter = 'VALUE1,VALUE2'

select * from @table
Run Code Online (Sandbox Code Playgroud)

因此,在上面的示例中,第 1、2、3、5 和 6 …

t-sql sql-server

5
推荐指数
1
解决办法
3605
查看次数

是否有一种解决方法允许在自己的公式中使用计算列

我的表中有一个名为Value1的列.然后我有一个计算列,Value2,公式为;

(CASE WHEN [Value1] > [Value2] THEN [Value1] ELSE [Value2] END)
Run Code Online (Sandbox Code Playgroud)

我不能保存这个,因为SQL Server在公式中的Value2计算列的自引用时很好.

还有什么我可以做的吗?

t-sql sql-server-2005 calculated-columns

1
推荐指数
1
解决办法
390
查看次数