在严格模式下使用MYSQL 5.5,我得到:
Error Code: 1292
Truncated incorrect DOUBLE value: 'C'
使用下面的SQL:
INSERT INTO table.t2 SELECT Something FROM table.t3
WHERE SUBSTRING_INDEX(Something,":",-1) NOT IN ("C","E")
数据' Something'专栏可能是这样的:
2131:2134
2132:2134:C
2133:2134:C
2134:2134:E
2135:2134:E
2136:2134
2137:2134
2138:2134
2139:2134
我知道我可以删除严格模式,但想解决这个问题。这是我的第一次 使用"演员"在尝试解决这个问题时.... -1,给出整数或字符串
答案 0 :(得分:1)
where
子句中存在问题。表达式'C' or 'E'
是一个布尔表达式,它被视为一个整数。因此,有关将值转换为数字的错误。
请尝试使用not in
:
WHERE SUBSTRING_INDEX(Something, ':', -1) NOT IN ('C', 'E')