我正在写一个MYSQL查询来更新数据库后添加到Oportunitati表的新列,但嵌套的ifs不像我所期望的那样工作。该查询是:嵌套的IF语句不能像我期望的那样工作吗?
UPDATE Oportunitati SET Stadiu =
if(Probabilitate < '20', '1',
if(Probabilitate < '40', '2',
if(Probabilitate < '60', '3',
if(Probabilitate < '80', '4',
if(Probabilitate < '100', '5',
if(Probabilitate = '100', '6', '7'))))))
我期望这个查询来Stadiu设置为1,如果Probabilitate是0和20之间,以2,如果它是20和40,等等,最后6,如果它是100和7之间,如果它是在
然而,即使我在所有的括号中都有值,这个查询设置的唯一值是1和7。是否有任何关于嵌套的IF在mysql中我缺少的东西?使用case
代替嵌套if
为什么所有的数字都包裹在apostroph中ES? – StilesCrisis 2012-03-01 08:17:08
只是一个自高中起就一直伴随着我的习惯。不要认为这有什么不同。 – Bogdan 2012-03-01 08:18:57
你应该放弃这种习惯。数字不是字符串。 – StilesCrisis 2012-03-01 08:19:37