在MySQL中,我可以根据另一列中某些字符的数量来更新值吗?

时间:2014-10-01 10:15:06

标签: mysql sql

我需要使用另一列中的某些字符计数更新数据库中的列。具体来说,我需要SQL来解决这个问题:

Col1    | Col2
1/2/3   | 0
1/3     | 0
1/2/3/2 | 0
1       | 0

进入这个:

Col1    | Col2
1/2/3   | 2
1/3     | 1
1/2/3/2 | 3
1       | 0

有可能吗?因为它似乎应该是可能的。

我一直在四处寻找,我发现所有人都在MySQL中不支持正则表达式,我真的需要直接这样做,而不是使用其他语言(例如,一个简单的PHP脚本来完成这项工作对我来说不会起作用。)

2 个答案:

答案 0 :(得分:2)

UPDATE t SET col2=select (length(col1) - length(replace(col1, '/',''))) FROM t

答案 1 :(得分:1)

UPDATE your_table 
SET Col2 = CHAR_LENGTH(Col1) - CHAR_LENGTH(REPLACE(Col1, '/', ''));