返された Coldfusion クエリの結果セットの列の 1 つに NULL がある場合、この列の値が NULL かどうかを確認するにはどうすればよいですか?
<cfif queryname.columnname[i] EQ ''>
ORとだけ言うべき<cfif queryname.columnname[i] eq 'NULL'>
でしょうか?
返された Coldfusion クエリの結果セットの列の 1 つに NULL がある場合、この列の値が NULL かどうかを確認するにはどうすればよいですか?
<cfif queryname.columnname[i] EQ ''>
ORとだけ言うべき<cfif queryname.columnname[i] eq 'NULL'>
でしょうか?
Null 値は、クエリ オブジェクトで空の文字列としてのみ返されます。
理想的には、データベースのifnull
(または同様の) メソッドを使用して、null 値が CF に到達する前に適切なものに変換します。
そうでない場合は、空の文字列として返されるため、最初のcfif
ものは正しいです。
If you are using an oracle database you could use the NVL method and modify your query to wrap the column.
<cfset var nullstringvalue = "THELASTNAMEFIELDISNULL" />
<cfquery name="lastnamelookup" ....>
SELECT NVL(lastname, 'LASTNAMEISNULL') AS lastname
</cfquery>
<cfif lastnamelookup.lastname EQ nullstringvalue>
...do null case work...
</cfif>
The trick would be in determining the correct bogus string to use in this case, then testing for it.