将字符串拆分为行
我有一个表,其中一个字段由多个字符串组成,并用“+”分隔。
字符串的每个部分的长度为 2 或 3 个字符。示例:'ab+cde+fg'
。
每行有 1 到 3 个部分(因此有些行不需要拆分)。上面的示例应返回 3 行:'ab'
、'cd'
和 'fg'
。
我在互联网上搜索了存储过程,但似乎没有一个能够满足我的特殊需求。我自己没有 SQL 技能来编写这样的过程。
I have a table with a field consisting of multiple strings seperated by a '+'.
Each part of the string has a length of either 2 or 3 chars. Example: 'ab+cde+fg'
.
Each row has 1 to 3 parts (so some rows don't need spliting). The above example should return 3 rows: 'ab'
, 'cd'
and 'fg'
.
I have searched the internet for stored procedures, but none seem to work for my particular needs. I don't have the SQL-skills myself to write such procedure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般算法的工作原理如下:
此代码将 3 行
AA
、CCC
、D
插入到临时表 #output 中。这是一个使用多字符分隔符的版本,还包含一个部分计数器:
The general algorithm works like this:
This code will insert 3 rows
AA
,CCC
,D
into the temporary table #output.Here is a version that works with multi character delimiters and also contains a part counter: