在MySql中,如果IF()函數的第一個參數是一個字符串,爲什麼它返回false?在MySQL中,爲什麼這個IF返回false?
SELECT IF('string', 'string', 'not string'); -- 'not string'
當然,我可以排序的解決這個問題,如果我沒有
IF(!ISNULL('string'), 'string', 'not string')) -- 'string'
或
IFNULL('string', 'not string'); -- 'string'
這似乎有點違反直覺的,它評估字符串,它並看到路as
SELECT IF(1, 'one', 'not one'); -- 'one'
和
SELECT IF('1', 'one', 'not one'); -- 'one'
評估,他們這樣做的方式......
煩人的說,如果IF('1','一','不是一個');返回'one' – SeanJA 2009-09-14 19:32:07
什麼是SELECT'IF('2','two','not two');'do? – Rudie 2011-04-17 11:32:58