mysql怎么向字段里面的值内添加“-”

我想直接用sql语句来处理:
将字段worktime的["0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1400",""]
这一串值改为
["09:00-13:00 : 14:00-19:00","09:00-13:00 : 14:00-19:00","09:00-13:00 : 140:0-19:00","09:00-13:00 : 14:00-19:00","09:00-13:00 : 14:00-19:00","09:00-14:00",""]

即,在时间和分钟之间添加“:”冒号。
我想到了用正则来做,但不会用。匹配出来还得修改。
已自行解决(最后用了PHP来处理)。谢谢大家:
解决的方式如下:

$value = '["0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1300 : 1400-1900","0900-1400",""]';

$preg = '/\d{2}-\d{2}/';

echo preg_replace_callback($preg,"replace",$value);

第1个回答  2013-11-21
在MySQL里把你这个字段的数据类型更改为 varchar 或 char 类弄  
varchar 可变长度  char 固定长度 根据需要 选择

追问

和这个问题有关系吗?这字段本来就是text类型的,且这串数据是json来的。

追答

把你处理这段json字符串的代码贴出来看看

第2个回答  2013-11-21
worktime=stuff(worktime,3,0,':')
worktime=stuff(worktime,9,0,':')
worktime=stuff(worktime,17,0,':')
worktime=stuff(worktime,23,0,':')
第3个回答  2013-11-21
用聚合函数concat可以实现
相似回答