텍스트를 날짜/시간 유형으로 변환
다음과 같은 경우 텍스트 값이 날짜/시간 값으로 변환됩니다.
- 텍스트 표현식(변수, 리터럴 등)이 날짜/시간 변수에 지정되거나 날짜/시간 변수와 비교됩니다.
- 사용자가 날짜/시간 유형으로 지정된 입력 필드에 텍스트를 입력합니다.
텍스트를 날짜로 변환
EGL에서는 strlib.defaultDateFormat 시스템 변수를 사용하여 텍스트를 해석합니다. 변환 알고리즘에서는 다른 구분 기호를 사용하거나 구분 기호가 누락될 수 있지만 기본 형식의 년, 월, 일 순서를 사용합니다.
defaultDateFormat의 설정에 확신이 없는 경우
다음 단계 중 하나를 수행하여 프로그램이 항상 같은 방법으로
지정된 값을 변환하도록 할 수 있습니다.
- dateTimeLib.dateValueFromGregorian() 함수를 사용하여 텍스트 값을 DATE 값으로 변환하십시오. dateValueFromGregorian()을 참조하십시오.
- DATE 유형 입력 필드에 날짜 형식을 지정하십시오.
텍스트를 시간으로 변환
EGL에서는 strlib.defaultTimeFormat 시스템 변수를 사용하여 텍스트를 해석합니다. EGL은 시간, 분, 초의 순서로 필드를 검색하며 이들 필드 사이에 구분 기호를 허용합니다.
defaultTimeFormat의 설정에 확신이 없는 경우 TIME 유형 입력 필드의 시간 형식을 지정하여 프로그램이 항상 같은 방법으로 지정된 값을 변환하도록 할 수 있습니다.
텍스트를 시간소인으로 변환
EGL에서는 strlib.defaultTimestampFormat 시스템 변수를 사용하여 텍스트를 해석합니다. 이 작업에 실패하면 EGL이 가장 큰 것에서 작은 순으로 시간소인 필드를 검색하며 이들 필드 사이에 구분 기호를 허용합니다.
defaultTimestampFormat의 설정에 확신이 없는 경우
다음 단계 중 하나를 수행하여 프로그램이 항상 같은 방법으로
지정된 값을 변환하도록 할 수 있습니다.
- dateTimeLib.timestampValueWithPattern() 함수를 사용하여 텍스트 값을 TIMESTAMP 값으로 변환하십시오.
- TIMESTAMP 유형 입력 필드에 시간소인 형식을 지정하십시오.
텍스트를 간격으로 변환
EGL은 가장 큰 것에서 작은 순으로 간격 필드의 변환을 수행하며 이들 필드 사이에 구분 기호를 허용합니다. 텍스트는 선택적으로 선행 + 또는 -로 시작할 수 있습니다.
예제
다음 문자열을 DATE 변수에 지정하고 기본
날짜 패턴은 없다고 가정합니다.
myDate = "aaa2006aa01a02222aa";
연도에
4자리 패턴을 사용하고 그 뒤에 월과 일에 각각 2자리를
사용하면 EGL이 문자열을 다음과 같은 숫자 그룹으로
구문 분석합니다. 2006 01 02
마지막으로 EGL이
전체 DATE 값을 리턴합니다. 2006/01/02
그러나 EGL은 숫자가 아닌 문자에서만 숫자를 구분하지
않습니다. 다음과 같은 경우 EGL은 첫 번째 필드의
최대 숫자 개수에 도달한 후 숫자를 DATE 값의 다음
필드로 이동합니다.
myDate = "aa20051aa02222aa";
이
경우 EGL은 년, 월, 일에 동일한 숫자 패턴을 사용하지만
두 번째 그룹의 숫자는 숫자가 아닌 문자로 짧게
잘립니다. EGL은 문자열을 다음과 같은 숫자 그룹으로 구문 분석합니다.
2005 1 02
마지막으로 EGL이 전체 DATE 값을
리턴합니다. 2005/01/02