reporting-services - 使用 SQL 或 SSRS 报告在特定逗号位置拆分逗号分隔值
问题描述
我在 SSRS 中有一个字段,它是连接值,例如
1234,1456,3456,7890,3457,3245,4345
我需要在第 8 个逗号之后或在下一行的特定位置中断/拆分,例如:
1234,1456,3456,
7890,3457,3245,
4345
这里的值是动态的,但是我们必须在每 8 个或特定的逗号处拆分/中断
解决方案
在您的示例文本中,所有值都有四个字符。如果是这种情况,一个简单的递归 CTE 可以满足您的要求:
with cte as (
select convert(varchar(max), NULL) as val, convert(varchar(max), field) as rest, 0 as lev
from t
union all
select left(rest, 15) as val, stuff(rest, 1, 15, '') as rest, lev+1
from cte
where rest <> ''
)
select val
from cte
where lev > 0;
这是一个 db<>fiddle。
推荐阅读
- java - ObjectMapper 可以生成无效类型列表(java8)
- php - 以管理员身份登录 Drupal 8 时,.htaccess URL 重写规则停止工作
- visual-studio-code - 是否有 VS 代码扩展来显示 css 的选项列表?
- java - java中一个简单的merkle-tree实现
- excel - 如何使用此代码修复编译错误?
- r - 是否可以对聚合的 dcast 值进行操作?
- javascript - Vue 将选项传递给单独组件中加载的插件
- python-3.x - 将 Azure Functions 部署到 Azure 时出现 bcrypt 错误
- sql - postgreSQL中的PGresult如何成为指针?
- android - 如何在android中不使用zxing创建QR?