반환 된 Coldfusion 쿼리 결과 집합에있는 열 중 하나에 NULL이 있으면이 열의 값이 NULL인지 여부를 어떻게 확인합니까?ColdFusion 쿼리에서 Null 값을 어떻게 처리합니까?
<cfif queryname.columnname[i] EQ ''>
또는 <cfif queryname.columnname[i] eq 'NULL'>
으로 말할까요?
반환 된 Coldfusion 쿼리 결과 집합에있는 열 중 하나에 NULL이 있으면이 열의 값이 NULL인지 여부를 어떻게 확인합니까?ColdFusion 쿼리에서 Null 값을 어떻게 처리합니까?
<cfif queryname.columnname[i] EQ ''>
또는 <cfif queryname.columnname[i] eq 'NULL'>
으로 말할까요?
null 값은 쿼리 개체에서 빈 문자열로 반환됩니다.
이상적으로는 데이터베이스에 ifnull
(또는 비슷한) 메서드를 사용하여 null 값을 CF에 도달하기 전에 적절한 값으로 변환하는 것이 좋습니다.
그렇지 않은 경우 빈 문자열로 돌아 오므로 처음 cfif
이 맞습니다.
오라클 데이터베이스를 사용하는 경우 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>
트릭은이 경우에 사용할 올바른 가짜 문자열을 결정한 다음이를 테스트하는 것입니다.
동의. 실제 NULL 값과 빈 문자열을 구별해야하는 경우 쿼리에서이를 수행해야합니다. – davidcl
가끔 이런 식으로 작동하지 않았 으면 좋겠어. 특정 상황에서 NULL은 실제로 의미 수 있습니다. –
예, 데이터베이스를 잘못 작성했다는 의미입니다. ;) –