字符串操作爆炸mysql

时间:2014-03-06 20:38:26

标签: mysql

我正在处理SCORM包数据,这只是我需要操作的许多令人讨厌的列数据之一:

;~;VarQuestion_0016=kl%2Fklkl;VarReflectiveWriting_0001=I%20fink%20that%20aw%20childwens%20should%20be%20wuvved%20and%20pwotected.;VarQuestion_0005=D.%20%20Radio%20public%20service%20announcements%20aired%20during%20Child%20Abuse%20Prevention%20Month%20in%20April;VarQuestion_0004=D.%20%20Societal%20approach;VarQuestion_0003=B.%20%20Free%20respite%20child%20care%20offered%20to%20any%20family%20needing%20a%20break%20in%20order%20to%20reduce%20stress%2CC.%20%20Court-ordered%20substance%20abuse%20prevention%20classes%20for%20parents%20involved%20with%20Child%20Protective%20Services;VarQuestion_0001=B.%20%20A%20treatment%20program%20for%20parents%20identified%20by%20Child%20Protective%20Services%20as%20having%20abused%20their%20children%2CC.%20%20A%20parent%20education%20class%20open%20to%20all%20parents;VarQuestion_0009=Sexual%20abuse%20prevention%20training%20for%20children%20or%20adults;VarQuestion_0011=Community%20Volunteer;VarQuestion_0013=I%20am%20very%20familiar%20with%20the%20research%20and%20with%20community-based%20approaches%3B%20I%20could%20teach%20others%20about%20it.;

我希望它看起来更像这样:

QUESTION    ANSWER
Question 1  B. A treatment program for parents identified by Child Protective Services as having abused their children,C. A parent education class open to all parents
Question 3  B. Free respite child care offered to any family needing a break in order to reduce stress,C. Court-ordered substance abuse prevention classes for parents involved with Child Protective Services
Question 4  D. Societal approach
Question 5  D. Radio public service announcements aired during Child Abuse Prevention Month in April
Question 9  Sexual abuse prevention training for children or adults
Question 11     Community Volunteer
Question 13     I am very familiar with the research and with community-based approaches; I could teach others about it.
Question 16     I fink that aw childwens should be wuvved and pwotected.

要解决的步骤:

urldecode
remove first few digits
explode the string by 'VarQuestion_',  explode these strings by '=', select first element for column 1 and last element for column 2 (editing each with trim to remove '0' and excess end ';')

MySQL阻碍解决:

find function for urldecode
find function to explode data
edit/manipulate array from explode function
output array into two columns for reporting

在纸面上看起来很简单,但它绝对是MySQL的噩梦。是否有任何包装/程序/功能都可以为每个步骤推荐?

0 个答案:

没有答案