我正在寫一個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