所以我的字符串是5个字符的倍数,例如“12345”或“abcde12345”或“asdfghjkli12345”。我要做的是编写一个查询,将每个字符串拆分成5个字符的块,然后返回不同的字符串。
所以用“12345”,“abcde12345”,“asdfghjkli12345”
我会回来“12345”“abcde”“asdfg”和“hjkli”
这可能吗?
答案 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都非常容易。