В 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'
Это кажется несколько нелогичным, что она вычисляет строку таким образом, что он видит как
SELECT IF(1, 'one', 'not one'); -- 'one'
и
SELECT IF('1', 'one', 'not one'); -- 'one'
оценить так, что они делают ...
раздражает, что SELECT IF ('1', 'one', 'not one'); возвращает 'one' – SeanJA
И что делает SELECT 'IF ('2', 'two', 'not two');' do ?? – Rudie