9.9 用逗号作为分隔符拆分字符串

 

用逗号作为分隔符,将字符串拆分为字符串序列。
查询客户采购的产品名称,选购多个产品时用逗号分隔。产品表和客户销售表部分数据如下:

Product:

ID Name Website
R Report http://www.raqsoft.com.cn/r
P esProc http://www.raqsoft.com.cn/p
C esCalc http://www.raqsoft.com.cn/c
M AI Models http://www.yimming.com/

Sales:

ID Customer Product
1 VINET R
2 TOMSP P,R
3 HANAR P,R,C
4 VICTE P

使用函数 s.split(d) 函数的 @c 选项,当 d 省略时按单字符拆分。

脚本:

A
1 =connect(“db”)
2 =A1.query(“select * from Product”)
3 =A1.query@x(“select * from Sales”)
4 =A3.run(Product=Product.split@c())
5 =A4.run(Product=Product.(A2.find(~).Name).concat@c())

A1 连接数据库
A2 读取产品表
A3 读取客户销售表
A4 使用 split 函数的 @c 选项,将客户销售表中的产品按逗号拆成序列返回
A5 根据产品 ID 查找产品名称,将产品名称序列用逗号连接成字符串

运行结果:

A4:

ID Customer Product
1 VINET [R]
2 TOMSP [P,R]
3 HANAR [P,R,C]

A5:

ID Customer Product
1 VINET Report
2 TOMSP esProc,Report
3 HANAR esProc,Report,esCalc