因此,我有一列包含 5 个字符的倍数的字符串,例如“12345”或“abcde12345”或“asdfghjkli12345”。我想做的是编写一个查询,将每个字符串拆分为 5 个字符 block 并返回不同的字符 block 。
因此,“12345”、“abcde12345”、“asdfghjkli12345”
我会返回“12345”“abcde”“asdfg”和“hjkli”
这可能吗?
最佳答案
MySQL 不包含分割分隔字符串的函数。尽管分离的数据通常会被拆分为关系数据中的单独字段,但这种拆分在初始数据加载/验证期间或此类数据保存在文本字段中时很有用。
以下公式可用于提取分隔列表中的第 N 个项目,在本例中为示例逗号分隔列表中的第 3 个项目“ccccc”。
选择替换(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
关于mysql - 每 5 个字符分割一个字符串并获得不同的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045622/