Неверный параметр при использовании IsNull в MySQL - PullRequest
4 голосов
/ 07 мая 2010

Я пытался использовать функцию IsNull(), чтобы убедиться в наличии значения для поля.

SELECT crawled.id,
       IsNull(sranking.score,0) as Score,
       crawled.url,
       crawled.title,
       crawled.blurb
FROM crawled
    LEFT JOIN sranking ON crawled.id = sranking.sid
WHERE crawled.body LIKE '%".$term."%'
ORDER BY Score DESC LIMIT " . $start . "," . $c

Но я получаю сообщение об ошибке:

Неправильный счетчик параметров при вызове нативной функции IsNull

У кого-нибудь есть идеи? Я довольно новичок в MySQL.

Ответы [ 2 ]

10 голосов
/ 07 мая 2010

ISNULL проверяет, является ли переданное выражение NULL. Что вам нужно, это IFNULL или COALESCE, как упомянул xyld.

SELECT crawled.id, IFNULL(sranking.score, 0) as Score, ...
2 голосов
/ 07 мая 2010

Вы можете рассмотреть возможность использования coalesce: http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce

Возвращает первое ненулевое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...