Reportbuilder 数据集错误与好SQL?
Reportbuilder data set errors with good SQL?
我有一个 bigint
状态,其中设置了按位标志,我正在尝试生成报告以使用此信息,我的代码是
cast(foo.State & 0x0 as bit)&1 as Case1,
cast(foo.State & 0x1 as bit)&1 as Case2,
cast(foo.State & 0x2 as bit)&1 as Case3,
cast(foo.State & 0x4 as bit)&1 as Case4,
cast(foo.State & 0x8 as bit)&1 as Case5,
但是当我尝试将 2 位组合成一个唯一状态时失败了,
我试过:
(cast(foo.State & 0x4 as bit) and cast(foo.State & 0x8 as bit)) as CaseBar
还有
Case foo.State & 0xc when 12 then 1 else 0 end as CaseBar
这两个 运行 在 SQL 查询中都很好,但在 reportbuilder 数据集属性中失败,这里有任何反馈或指示吗?
实现它的方法是:
cast((cast(foo.State & 0x8 as bit) & Cast(foo.State & 0x4 as bit)) as bit)&1 as CaseBar,
问题是报表生成器引擎不支持完整的 TSQL 命令集
我有一个 bigint
状态,其中设置了按位标志,我正在尝试生成报告以使用此信息,我的代码是
cast(foo.State & 0x0 as bit)&1 as Case1,
cast(foo.State & 0x1 as bit)&1 as Case2,
cast(foo.State & 0x2 as bit)&1 as Case3,
cast(foo.State & 0x4 as bit)&1 as Case4,
cast(foo.State & 0x8 as bit)&1 as Case5,
但是当我尝试将 2 位组合成一个唯一状态时失败了,
我试过:
(cast(foo.State & 0x4 as bit) and cast(foo.State & 0x8 as bit)) as CaseBar
还有
Case foo.State & 0xc when 12 then 1 else 0 end as CaseBar
这两个 运行 在 SQL 查询中都很好,但在 reportbuilder 数据集属性中失败,这里有任何反馈或指示吗?
实现它的方法是:
cast((cast(foo.State & 0x8 as bit) & Cast(foo.State & 0x4 as bit)) as bit)&1 as CaseBar,
问题是报表生成器引擎不支持完整的 TSQL 命令集