每5个字符拆分一个字符串并获得不同的字符串

时间:2014-02-26 15:17:20

标签: mysql split

所以我的字符串是5个字符的倍数,例如“12345”或“abcde12345”或“asdfghjkli12345”。我要做的是编写一个查询,将每个字符串拆分成5个字符的块,然后返回不同的字符串。

所以用“12345”,“abcde12345”,“asdfghjkli12345”

我会回来“12345”“abcde”“asdfg”和“hjkli”

这可能吗?

2 个答案:

答案 0 :(得分:0)

MySQL不包含拆分分隔字符串的函数。虽然分离的数据通常会被分成关系数据中的单独字段,但在初始数据加载/验证期间或在文本字段中保存此类数据时,拆分数据可能很有用。

以下公式可用于提取分隔列表中的第N个项目,在本例中为逗号分隔列表中的第3个项目“ccccc”。

select replace(substring(substring_index('aaa,bbbb,ccccc',',',3),length(substring_index('aaa,bbbb,ccccc',',',3 - 1))+ 1), ',','')ITEM3

上述公式不需要将第一项作为特殊情况处理,并且当项目数小于请求的位置时,正确返回空字符串。

您还可以创建自己的分割功能并使用它。 Split value from one field to two

来源:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

答案 1 :(得分:0)

这听起来像是超出了SQL的限制,肯定需要一种编程语言。任何3GL都非常容易。