Sea*_*nJA 2 mysql if-statement
在MySql中,如果IF()函数的第一个参数是一个字符串,为什么它返回false?
SELECT IF('string', 'string', 'not string'); -- 'not string'
Run Code Online (Sandbox Code Playgroud)
当然,如果我这样做,我可以解决这个问题
IF(!ISNULL('string'), 'string', 'not string')) -- 'string'
Run Code Online (Sandbox Code Playgroud)
要么
IFNULL('string', 'not string'); -- 'string'
Run Code Online (Sandbox Code Playgroud)
它似乎有点违反直觉,它以一种字符串的形式评估字符串
SELECT IF(1, 'one', 'not one'); -- 'one'
Run Code Online (Sandbox Code Playgroud)
和
SELECT IF('1', 'one', 'not one'); -- 'one'
Run Code Online (Sandbox Code Playgroud)
评估他们做的方式......