Mysql - 在数字7的vnum END查询UPDATE

时间:2013-02-01 18:22:48

标签: mysql sql sql-update

我需要更正此查询!谢谢!

我试试:

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE `vnum` END AS 7 AND `type`=1

3 个答案:

答案 0 :(得分:2)

<击>

<击> 你的意思是?

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE `vnum` = 7 AND `type`=1

如果没有,后续问题,您希望在这种条件WHERE vnum END AS 7 AND type=1上做什么?

<击>

更新1

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE RIGHT(`vnum`, 1) = '7' AND `type`=1

答案 1 :(得分:2)

@ JW的回答是将vnum转换为CHAR,然后使用RIGHT()函数将其删除,只保留右边的第一个字符:

WHERE RIGHT(vnum, 1) = '7'

你也可以以类似的方式使用LIKE(隐式转换为CHAR,然后检查最右边的字符):

WHERE vnum LIKE '%7'

如果数字是非负整数,这也可以使用模运算:

WHERE vnum MOD 10 = 7

答案 2 :(得分:1)

猜测你在where子句中要做什么。 END不属于WHERE子句,也不能在WHERE子句中使用AS

UPDATE `item_proto_copy2` 
SET `socket_pct`='1' 
WHERE `vnum` = 7 AND `type`=1