Versions available for this page: CUBRID 8.2.1 | CUBRID 8.3.0 | CUBRID 8.3.1 | CUBRID 8.4.0 | CUBRID 8.4.1 | CUBRID 8.4.3 | CUBRID 9.0.0 |
TO_TIMESTAMP 함수는 인자로 지정된 타임스탬프 형식을 기준으로 문자열을 해석하여, 이를 TIMESTAMP 타입의 값으로 변환하여 반환한다. 타임스탬프 형식은 TO_CHAR 함수(date_time)의 설명 부분을 참고한다.
format 인자가 지정되면 지정한 언어에 맞는 형식으로 string을 해석한다. 예를 들어 언어가 "de_DE"일 때 string이 "12/mai/2012 12:10:00 Nachm."이고 format이 "DD/MON/YYYY HH:MI:SS AM"인 경우 "2012년 5월 12일 오후 12시 10분 0초"로 해석한다. 이때 언어는 date_lang_string_literal 인자에 의해 정해진다. date_lang_string_literal 인자가 생략되면 intl_date_lang 시스템 파라미터에 지정한 언어가 적용되며, intl_date_lang 값의 설정이 생략되면 CUBRID_LANG 환경변수에 지정한 언어가 적용된다. 주어진 문자열과 대응하지 않는 format 인자가 지정되면 에러를 반환한다.
format 인자가 생략되면 intl_date_lang 또는 CUBRID_LANG에 의해 설정된 언어의 기본 출력 형식을 따라 string을 해석한다(TO_CHAR(date_time) 함수의 날짜/시간 타입에 대한 언어별 기본 출력 형식 표 참고). 예를 들어 언어가 "de_DE"일 때 DATETIME 타입의 기본 format은 "HH24:MI:SS.FF DD.MM.YYYY"이다.
TO_TIMESTAMP(string [, format [,date_lang_string_literal]])
string :
• character strings
• NULL
format :
• character strings (날짜/시간 형식 1 표 참조)
• NULL
date_lang_string_literal : (date_lang_string_literal 표 참조)
• 'en_US'
• 'de_DE'
• 'es_ES'
• 'fr_FR'
• 'it_IT'
• 'ja_JP'
• 'km_KH'
• 'ko_KR'
• 'tr_TR'
• 'vi_VN'
• 'zh_CN'
다음은 환경 변수 CUBRID_LANG의 값을 "en_US"로 설정하여 생성된 데이터베이스에서 수행하는 예이다.
--selecting a timestamp type value casted from a string in the specified format
SELECT TO_TIMESTAMP('13:10:30 12/25/2008');
to_timestamp('13:10:30 12/25/2008')
======================================
01:10:30 PM 12/25/2008
SELECT TO_TIMESTAMP('08-Dec-25 13:10:30', 'YY-Mon-DD HH24:MI:SS');
to_timestamp('08-Dec-25 13:10:30', 'YY-Mon-DD HH24:MI:SS')
======================================
01:10:30 PM 12/25/2008
SELECT TO_TIMESTAMP('YEAR: 2008 DATE: 12-25 TIME: 13:10:30', '"YEAR:" YYYY "DATE:" MM-DD "TIME:" HH24:MI:SS');
to_timestamp('YEAR: 2008 DATE: 12-25 TIME: 13:10:30', '"YEAR:" YYYY "DATE:" MM-DD "TIME:" HH24:MI:SS')
======================================
01:10:30 PM 12/25/2008
다음은 intl_date_lang의 값이 "de_DE"일 때 수행한 예이다.
SELECT TO_TIMESTAMP('13:10:30 25.12.2008');
to_timestamp('13:10:30 25.12.2008')
======================================
01:10:30 PM 12/25/2008
SELECT TO_TIMESTAMP('10:23:00 Nachm.', 'HH12:MI:SS AM');
to_timestamp('10:23:00 Nachm.', 'HH12:MI:SS AM')
===================================================
10:23:00 PM 08/01/2012
환경 변수인 CUBRID_LANG의 로캘 값을 언어만 "en_US"(CUBRID 제품 설치 시 CUBRID_LANG의 초기 값)로 설정하고 "." 이하의 문자셋을 생략하는 경우, 문자셋은 ISO-8859-1(.iso88591)로 정해진다.
문자셋이 ISO-8859-1인 경우 "en_US" 외에 TO_TIMESTAMP 함수에서 변경할 수 있는 언어는 "ko_KR"과 "tr_TR"뿐이다. 문자셋이 UTF-8인 경우 CUBRID가 지원하는 모든 언어 중 하나로 변경할 수 있다. 보다 자세한 설명은 TO_CHAR 함수(date_time)의 참고 사항를 참고한다.