您好我正在尝试根据另一列中的值进行简单的更新查询,例如
UPDATE tbl1 SET col2=1 WHERE col1 < 10
其中col1包含以下值:
1,2,3 .... 19,20,N1,N2 ... N9
但是当查询中遇到非数字字符的值时,查询就会爆炸。我试过了:
UPDATE tbl1 SET col2=1 WHERE CAST(col1 AS UNSIGNED INT) < 10
毫不奇怪,这也不起作用,但我会想到在第一个例子中检查N1&lt; 10它会忽略行而不是失败......?
我怎么能这样做?
答案 0 :(得分:0)
你可以使用 dirty REPLACE()
WHERE CAST(REPLACE(REPLACE(REPLACE(REPLACE(col1, 'M', ''), 'F', ''), 'N', ''), 'L', '') AS UNSIGNED) < 10
使用此程序,查询在性能方面并不是很好,但会满足您的需求。