목차

Search

  1. 서문
  2. 변환 언어
  3. 상수
  4. 연산자
  5. 변수
  6. 날짜
  7. 함수
  8. 사용자 지정 함수 작성
  9. 사용자 지정 함수 API 참조

변환 언어 참조

변환 언어 참조

IS_DATE

IS_DATE

문자열 값이 유효한 날짜인지 여부를 반환합니다. 유효한 날짜는 세션에서 지정한 날짜/시간 형식의 날짜 부분에 있는 모든 문자열입니다. 테스트할 문자열이 이 데이터 형식이 아닌 경우 TO_DATE 형식 문자열을 사용하여 날짜 형식을 지정합니다. IS_DATE에 전달된 문자열이 지정된 형식 문자열과 일치하지 않는 경우 FALSE(0)가 반환됩니다. 문자열이 형식 문자열과 일치하는 경우 TRUE(1)가 반환됩니다.
IS_DATE는 문자열을 평가하고 정수 값을 반환합니다.
IS_DATE 식의 출력 포트는 문자열 또는 숫자 데이터 유형이어야 합니다.
IS_DATE를 사용하여 플랫 파일의 데이터를 대상에 쓰기 전에 테스트하거나 필터링할 수 있습니다.
IS_DATE에는 YY 형식 문자열 대신 RR 형식 문자열을 사용합니다. 두 형식 문자열은 대부분의 경우 동일한 값을 반환하지만 YY가 잘못된 결과를 반환하는 특수한 경우가 일부 있습니다. 예를 들어 식 IS_DATE(‘02/29/00’, ‘YY’)는 내부에서 IS_DATE(02/29/1900 00:00:00)로 계산되어 FALSE를 반환합니다. 그러나
PowerCenter 통합 서비스
는 식 IS_DATE(‘02/29/00’, ‘RR’)를 IS_DATE(02/29/2000 00:00:00)로 계산하여 TRUE를 반환합니다. 첫 번째 경우에서 1900년은 윤년이 아니므로 2월 29일이 존재하지 않습니다.
IS_DATE는 TO_DATE와 동일한 형식 문자열을 사용합니다.

구문

IS_DATE(
value
[,
format
] )
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/
선택 사항
설명
필수
문자열 데이터 유형이어야 합니다. 평가할 행을 전달합니다. 유효한 모든 변환 식을 입력할 수 있습니다.
형식
선택 사항
유효한 TO_DATE 형식 문자열을 입력합니다. 형식 문자열은
문자열
인수의 일부와 일치해야 합니다. 예를 들어 문자열 'Mar 15 1997 12:43:10AM'을 전달하는 경우 형식 문자열 'MON DD YYYY HH12:MI:SSAM'을 사용해야 합니다. 형식 문자열을 생략하는 경우 문자열 값은 세션에서 지정한 날짜 형식이어야 합니다.

반환 값

행이 유효한 날짜인 경우 TRUE(1)가 반환됩니다.
행이 유효한 날짜가 아닌 경우 FALSE(0)가 반환됩니다.
식의 값이 NULL이거나 형식 문자열이 NULL인 경우 NULL이 반환됩니다.
IS_DATE 문자열의 형식은 날짜 구분 기호를 포함하여 형식 문자열과 일치해야 합니다. 일치하지 않을 경우
PowerCenter 통합 서비스
가 정확하지 않은 값을 반환하거나 레코드를 건너뛸 수 있습니다.

다음 식은 INVOICE_DATE 포트를 검사하여 유효한 날짜인지 확인합니다.
IS_DATE( INVOICE_DATE )
이 식은 다음과 유사한 데이터를 반환합니다.
INVOICE_DATE
RETURN VALUE
NULL
NULL
'180'
0 (FALSE)
'04/01/98'
0 (FALSE)
'04/01/1998 00:12:15.7008'
1 (TRUE)
'02/31/1998 12:13:55.9204'
0 (FALSE)   (
February does not have 31 days
)
'John Smith'
0 (FALSE)
다음 IS_DATE 식은 형식 문자열 ‘YYYY/MM/DD’를 지정합니다.
IS_DATE( INVOICE_DATE, 'YYYY/MM/DD' )
문자열 값이 이 형식과 일치하지 않는 경우 IS_DATE가 FALSE를 반환합니다.
INVOICE_DATE
RETURN VALUE
NULL
NULL
'180'
0 (FALSE)
'04/01/98'
0 (FALSE)
'1998/01/12'
1 (TRUE)
'1998/11/21 00:00:13'
0 (FALSE)
'1998/02/31'
0 (FALSE)   (
February does not have 31 days
)
'John Smith'
0 (FALSE)
다음 예는 TO_DATE를 사용하여 문자열을 날짜로 변환하기 전에 IS_DATE를 사용하여 데이터를 테스트하는 방법을 보여 줍니다. 이 식은 INVOICE_DATE 포트의 값을 검사하고 각 유효한 날짜를 날짜 값으로 변환합니다. 값이 유효한 날짜가 아닌 경우
PowerCenter 통합 서비스
가 ERROR를 반환하고 행을 건너뜁니다.
이 예는 날짜/시간 값을 반환합니다. 그러므로 식의 출력 포트는 날짜/시간이어야 합니다.
IIF( IS_DATE ( INVOICE_DATE, 'YYYY/MM/DD' ), TO_DATE( INVOICE_DATE ), ERROR('Not a valid date' ) )
INVOICE_DATE
RETURN VALUE
NULL
NULL
'180'
'Not a valid date'
'04/01/98'
'Not a valid date'
'1998/01/12'
1998/01/12
'1998/11/21 00:00:13'
'Not a valid date'
'1998/02/31'
'Not a valid date'
'John Smith'
'Not a valid date'