Teradata 中WITH RECURSIVE 应用的一个实例
来源:互联网 发布:linux 修改etcprofile 编辑:程序博客网 时间:2024/05/18 02:00
需求:对一个位数固定使用分隔符连接的字符串的拆分,如将记录215|482|850|870拆分为215,482,850,870四条记录
结果:WITH RECURSIVE 语句能够实现此功能,测试如下:
CREATE TABLE dwsdata.gift_info (
gf_id varchar(50),
channels varchar(100)
);
select * from dwsdata.gift_info;
gf_id channels
10710701010201002 215|482|850|870
WITH RECURSIVE temp_table (gf_id,channels) AS
(
select
gf_id
,trim(channels)
from dwsdata.gift_info
where channels<>''
union all
select
gf_id
,substr(channels,5 )
from temp_table aa
where char(aa.channels ) <>3
)
select
TRIM(gf_id)
,SUBSTR(channels,1,3)
from temp_table
;
结果:
gf_id channels
10710701010201002 215
10710701010201002 482
10710701010201002 850
10710701010201002 870
- Teradata 中WITH RECURSIVE 应用的一个实例
- Teradata 中WITH RECURSIVE 应用的一个实例
- teradata with sql实例
- teradata与oracle的with子句对比
- TERADATA中函数的使用
- PostgreSQL的递归查询(with recursive)
- PostgreSQL的递归查询(with recursive)
- PostgreSQL的递归查询(with recursive)
- PostgreSQL的递归查询(with recursive)
- Recursive Subquery Factoring (Recursive WITH)
- 对于 Recursive Algorithm 中应当注意的
- DataGrid应用的一个实例
- XMLHTTP应用的一个实例
- Sphinx的一个应用实例
- 马尔科夫链的一个应用实例
- potgresql-WITH RECURSIVE与refcursor
- Teradata中四舍五入规则
- Teradata 中 fastload
- 小译c99标准 了解下c语言的生前身后事~
- 如何切换机器上java -version值
- 教你用google(转)
- [双语阅读]网上约会流行 纽约当选最佳单身城市
- C#中Validating和Validated事件
- Teradata 中WITH RECURSIVE 应用的一个实例
- C# 让程序只保证一个进程的类
- [双语阅读]英国唐宁街“第一猫”西比尔去世
- DateDiff函数 表示两个指定日期间的时间间隔数目
- 禁止validateRequest的办法
- 六点前素食 VB6
- JS中的事件冒泡
- Inside story 内幕
- visual 2008中error PRJ0003 生成 cmd.exe 时出错”