Как мне обработать нулевые значения из запросов ColdFusion? - PullRequest
2 голосов
/ 29 октября 2009

Если один из столбцов в возвращенном наборе результатов запроса Coldfusion имеет значение NULL, как мы можем проверить, что значение этого столбца равно NULL?

Должны ли мы просто сказать <cfif queryname.columnname[i] EQ ''> ИЛИ <cfif queryname.columnname[i] eq 'NULL'>?

Ответы [ 3 ]

12 голосов
/ 29 октября 2009

Нулевое значение будет возвращено только как пустая строка в объекте запроса.

9 голосов
/ 29 октября 2009

В идеале вы должны использовать метод ifnull (или аналогичный) вашей базы данных для преобразования нулевых значений во что-то подходящее, прежде чем они достигнут CF.

Если нет, они возвращаются в виде пустой строки, поэтому ваш первый cfif правильный.

1 голос
/ 06 ноября 2009

Если вы используете базу данных Oracle, вы можете использовать метод NVL и изменить свой запрос, чтобы обернуть столбец.

<cfset var nullstringvalue = "THELASTNAMEFIELDISNULL" />
<cfquery name="lastnamelookup" ....>
  SELECT NVL(lastname, 'LASTNAMEISNULL') AS lastname
</cfquery>
<cfif lastnamelookup.lastname EQ nullstringvalue>
     ...do null case work...
</cfif>

Хитрость заключается в том, чтобы определить правильную поддельную строку для использования в этом случае, а затем проверить ее.

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