如何处理ColdFusion查询中的空值?

时间:2009-10-29 17:58:59

标签: coldfusion null cfquery

如果返回的coldfusion查询结果集中的一列具有NULL,我们如何检查此列的值是否为NULL?

我们应该说<cfif queryname.columnname[i] EQ ''><cfif queryname.columnname[i] eq 'NULL'>吗?

3 个答案:

答案 0 :(得分:12)

空值只会在查询对象中作为空字符串返回。

答案 1 :(得分:9)

理想情况下,您可以使用数据库的ifnull(或类似)方法将空值转换为适当的值,然后才能达到CF.

如果没有,它们会以空字符串形式返回,因此您的第一个cfif是正确的。

答案 2 :(得分:1)

如果您使用的是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>

诀窍在于确定在这种情况下使用的正确伪造字符串,然后对其进行测试。