【发布时间】:2016-08-24 11:11:14
【问题描述】:
我想要实现的是在某种时间线上计算发生次数,将重叠事件视为一个事件,从这样的字段开始并使用 TSQL:
Pattern (JSON array of couple of values indicating
the start day and the duration of the event)
----------------------------------------------------
[[0,22],[0,24],[18,10],[30,3]]
----------------------------------------------------
对于这个例子,预期的结果应该是 30
我需要的是一个 TSQL 函数来获取这个数字...
即使我不确定这是否是正确的路径,我也会尝试在我的数据集的行之间模拟一种 BINARY OR。 经过一番尝试,我设法将我的数据集变成了这样的东西:
start | length | pattern
----------------------------------------------------
0 | 22 | 1111111111111111111111
0 | 24 | 111111111111111111111111
18 | 10 | 000000000000000001111111111
30 | 3 | 000000000000000000000000000000111
----------------------------------------------------
但现在我不知道如何在 TSQL 中进行 =) 我所说的解决方案可能是“模式”字段之间的二进制或以获得类似的东西:
1111111111111111111111...........
111111111111111111111111.........
000000000000000001111111111......
000000000000000000000000000000111
--------------------------------------
111111111111111111111111111000111
在 TSQL 中可以做到吗?
也许我只是把事情复杂化了,你还有其他想法吗?
别忘了我只需要结果号!!!
谢谢大家
【问题讨论】:
-
那么您的预期结果是举办活动的总天数?
-
我预计至少举办一次活动的总天数!
-
这里的预期输出是什么?
-
我的字段“pattern”现在是一个varchar.....我尝试将值转换为二进制并使用运算符 | ...但没有成功
-
@KannanKandasamy 你读过问题吗? 对于这个例子,预期的结果应该是 30
标签: sql-server tsql binary-data