sql - 函数根据它的长度将单元格中的任何字符串值返回到新行?
问题描述
现在我有这张桌子:
Names
----------
Bill
James
----------
我的目标是根据它们的长度将这些名称重复插入到新行中。
例如
Names
----------
Bill
Bill
Bill
Bill
James
James
James
James
James
PS我将找出是否有一种方法可以仅使用过滤器where
,例如having
...等来处理它。
提前致谢。
解决方案
您可以使用递归 CTE:
with cte as (
select name, len(name) as n
from t
union all
select name, n - 1
from cte
where n > 1
)
select cte.name
from cte;
这是一个 db<>fiddle。
推荐阅读
- google-app-maker - 数据截断:根据需要标记字段时无效使用 NULL 值
- view - 从 sp 传递参数到视图
- node.js - 全局安装节点模块
- ios - 语音识别器不返回答案
- angularjs - 如何使用 Angularjs 从具有父路由控制器的页面获取数据到自定义指令?
- python - 根据另一个变量的大小在 tkinter 中显示彩色变量
- angular - 带有 AOT 的 Angular 打字稿地图
- javascript - 如何拆分json数组并与javascript中的公共数据进行映射
- contour - 基于点的边缘检测
- javascript - 显示已交付和蓝色刻度,例如什么应用