--分拆处理示例
createtabletable1(文章IDint,文章标题varchar(10),作者varchar(100),字数int)
inserttable1select101, '文章标题1 ', '作者a,作者b ',120
unionallselect222, '文章标题2 ', '作者x,作者y,作者z ',300
unionallselect343, '文章标题3 ', '作者m,作者n ',420
go
【将一个表的字段拆分成多行】--分拆处理
declare@iint
select@i=max(len(作者))fromtable1
setrowcount@i
selectid=identity(int)into#tfromsyscolumnsa,syscolumnsb
setrowcount0
selecta.文章ID,a.文章标题
,作者=substring(a.作者,b.id,charindex( ', ',a.作者+ ', ',b.id)-b.id)
,字数=a.字数/(len(a.作者)-len(replace(a.作者, ', ', ' '))+1)
fromtable1a,#tb
whereb.id <=len(a.作者)andsubstring( ', '+a.作者,b.id,1)= ', '
go
--删除测试
droptabletable1,#t
推荐阅读
- 数据库|SQL行转列方式优化查询性能实践
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- SQL|SQL基本功(五)--函数、谓词、CASE表达式
- SQL|SQL基本功(三)-- 聚合与排序
- web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
- sqlite|python中用SQLite3添加 主键约束 唯一约束 非空约束 外键约束(约束的介绍以及设置)
- python|python中使用SQLite3对数据库的基本操作(基于ubuntu操作系统)
- TDSQL | DTS for PostgreSQL 逻辑复制详解
- TDSQL | 《checkpoint 原理浅析》
- TDSQL-A 技术架构演进及创新实践