Visual FoxPro에서 null 값 사용

이 문서에서는 Visual FoxPro 명령 및 함수에서 null 데이터 값을 사용하는 방법을 설명합니다.

원래 제품 버전: Visual FoxPro
원래 KB 번호: 130307

요약

Visual FoxPro 버전 3.0은 null 데이터 값을 지원합니다. 버전 3.0 이전의 FoxPro 버전은 null 데이터 값을 직접 지원하지 않았습니다. 이 문서에서는 Visual FoxPro 명령 또는 함수에 전달할 때 null 값(로 표시 .NULL.됨)을 처리하기 위해 Visual FoxPro가 따르는 일반적인 규칙에 대해 설명합니다.

추가 정보

값이 없거나 관련이 없거나 알 수 없는 경우 null 값(.NULL.) 값을 사용합니다. 이전 버전의 FoxPro에서는 알 수 없거나 누락된 값이 공백 또는 0으로 표시되어 잘못 해석되었을 수 있습니다. Visual FoxPro를 사용하면 이제 필드에 null 값을 저장할 수 있습니다.

Visual FoxPro의 null 값(.NULL.)은 빈 값, 공백 또는 0 값과 동일하지 않습니다. Null은 값이 없음을 나타내므로 null은 null 또는 null이 아닌 다른 값보다 크거나 작거나 같지 않습니다. null 값에 대한 Visual FoxPro 지원은 ANSI 표준을 준수하며 값과 식이 사용되는 제품의 모든 영역에 영향을 줍니다.

null 값에 대한 일반 규칙

다음은 Visual FoxPro 명령 또는 함수에 전달되는 null 값에 대한 일반적인 규칙입니다.

  • 명령은 null을 전달하면 오류를 생성합니다.

  • null 값을 허용하는 함수는 결과로 반환 .NULL. 됩니다.

  • 숫자 값을 예상하는 함수는 null과 함께 제공된 경우 오류를 생성합니다.

  • ISBLANK(), ISDIGIT(), ISLOWER(), , ISUPPER(), ISALPHA()EMPTY() 각각은 null 값을 전달하면 false(.F.)를 반환합니다.

  • ISNULL() 는 null 값을 전달하면 true(.T.)를 반환합니다.

  • SQL INSERT 및 SQL은 IS NULL 및 SELECT IS NOT NULL 절을 통해 null 값을 처리합니다.

  • , MIN()및 와 같은 MAX()SQL 집계 함수는 SUM() 집계의 모든 null 값을 무시합니다.

  • Visual FoxPro 집계 함수는 제공된 모든 값이 null 값이면 전파 .NULL. 되고, 그렇지 않으면 null 값이 무시됩니다.

이 문서의 나머지 부분에서는 이러한 일반 규칙에 대한 자세한 정보와 예제를 제공합니다.

명령에서 null을 전달하면 오류가 발생합니다.

Visual FoxPro 명령은 작업을 생성하는 문입니다. 명령의 예는 , BROWSEDELETE입니다USE. 예를 들어 USE 명령은 이 코드에 대한 오류를 반환합니다.

STORE .NULL. TO nWorkArea
USE mytable IN (nWorkArea)

명령의 USE IN 절에는 숫자 또는 알파 값이 예상되며, 전달되면 .NULL.테이블 번호가 잘못 되었습니다.가 생성됩니다.

함수는 NVL() null 값이 지원되지 않거나 관련이 없는 계산 또는 작업에서 null 값을 제거하는 데 사용할 수 있습니다.

STORE .NULL. TO nWorkArea
USE mytable IN NVL(nWorkArea,0)

그러면 사용 가능한 첫 번째 작업 영역에서 mytable이 열립니다. 함수에 대한 자세한 내용은 NVL() 도움말 파일 또는 Visual FoxPro 설명서를 참조하세요.

null 값을 허용하는 함수는 를 반환합니다. Null. 결과적으로

Visual FoxPro 함수는 특정 작업을 수행하고 인수를 0개 이상 사용하는 루틴입니다. 함수의 예로는 , UPPER()및 가 있습니다.SUBSTR()ISBLANK() 대부분의 Visual FoxPro 함수는 오류를 생성하지 않고 null 값을 인수로 전달할 수 있지만 .NULL. 는 함수에서 반환됩니다. 즉, 함수에 null 값을 전달하면 결과는 항상 null입니다. 이는 수학 수식에서 null 값을 처리하는 방법이기도 합니다. 예를 들어 500에 추가된 null 값은 null과 같고, 0이 아닌 null 값을 0으로 곱합니다.

다음 예제 코드는 를 반환합니다 .NULL..

cLastName = "Johnson"
nBegin = 5
nExtract = .NULL.
?SUBSTR(cLastName,nBegin,nExtract)

이 규칙의 예외는 ISBLANK()각각 값을 반환하는 , ISLOWER()ISDIGIT()ISUPPER(), ISALPHA()EMPTY() 함수입니다.F.. 함수는 ISNULL() 값을 반환 .T. 합니다.

새 절을 사용하여 SQL 삽입 및 SELECT SQL 프로세스 Null 값

두 개의 새 절(IS NULL 및 IS NOT NULL)은 및 SELECT SQL 명령에서 null을 INSERT 처리합니다. 예를 들어 cLastName이 null이 아닌 테이블에서 모든 레코드를 찾으려면 다음 명령을 사용합니다.

SELECT cLastName FROM mytable WHERE cLastName IS NOT NULL

null 값을 찾으려면 IS NULL 절을 사용합니다.

SQL 집계 함수 Null 값 무시

집계 함수는 값의 그룹(집계)에서 더하기, 최소, 최댓값 또는 평균과 같은 숫자 연산을 수행하는 함수입니다. 집계 함수의 예로는 , MIN()및 가 있습니다.SUM()MAX()

SELECT 예를 들어 SQL 명령은 집계 함수를 사용하여 테이블에서 숫자 값을 검색할 수 있습니다. 예를 들어 다음 SELECT 명령은 라는 nYTDSales필드의 최대값을 반환합니다.

SELECT MAX(nYTDSales) from mytable

값이 포함된 .NULL. 필드에서 수행되는 모든 SQL 집계 함수는 값을 무시하고 .NULL. null 값을 존재하지 않는 것처럼 처리하는 결과를 반환합니다(집계의 일부가 아님).

위에서 설명한 .NULL. 값 및 함수에 대한 자세한 내용은 Visual FoxPro 도움말 파일에서 topics 검색합니다.