Oracle 데이터베이스는 날짜 및 시간 유형으로 타임스탬프(타임스탬프)를 사용합니다. 날짜 및 시간 문제를 처리할 때 타임스탬프를 사람이 읽을 수 있는 날짜 및 시간 형식으로 변환해야 하는 경우가 많습니다. 이 기사에서는 Oracle 타임스탬프가 다른 날짜 시간 형식으로 변환되는 방법에 대해 설명합니다.
Oracle 내장 함수 to_char()를 사용하여 타임스탬프를 날짜/시간 문자열로 변환할 수 있습니다. to_char() 함수의 첫 번째 매개변수는 변환해야 하는 타임스탬프이고, 두 번째 매개변수는 대상 날짜 및 시간 형식의 문자열 표현입니다.
예를 들어 타임스탬프를 'YYYY-MM-DD HH24:MI:SS' 형식의 날짜/시간 문자열로 변환하려면 다음 코드를 사용할 수 있습니다.
SELECT to_char(TIMESTAMP '2021-08-31 12:00:00', 'YYYY-MM-DD HH24:MI:SS') AS datetime_string FROM dual;
결과는 다음과 같습니다.
DATETIME_STRING ------------------- 2021-08-31 12:00:00
Unix 시간은 1970년 1월 1일 00:00:00 UTC와 지정된 시간 사이의 초 수입니다. Oracle에서는 다음 코드를 사용하여 타임스탬프를 Unix 시간으로 변환할 수 있습니다.
SELECT (TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') - TIMESTAMP '2021-08-31 12:00:00') * 24 * 60 * 60 AS unix_time FROM dual;
이 코드를 설명하세요. 먼저 TO_TIMESTAMP() 함수를 사용하여 문자열 '1970-01-01 00:00:00'을 타임스탬프 유형으로 변환합니다. 그런 다음 이 타임스탬프(여기서는 '2021-08-31 12:00:00')에서 지정된 타임스탬프를 빼서 시간 차이(기간)를 얻습니다. 마지막으로 이 시간 차이에 하루의 초 수인 24 * 60 * 60을 곱하여 해당 Unix 시간을 구합니다.
위 코드의 출력은 1970년 1월 1일 00:00:00 UTC와 지정된 시간 사이의 초 수를 나타내는 정수여야 합니다.
Unix 시간을 타임스탬프로 변환하려면 다음 코드를 사용할 수 있습니다.
SELECT TO_TIMESTAMP('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + NUMTODSINTERVAL(1630425600, 'SECOND') AS timestamp FROM dual;
위 코드에서는 TO_TIMESTAMP() 함수를 사용하여 문자열 '1970- 01-01 00:00:00'이 타임스탬프 형식으로 변환됩니다. 그런 다음 NUMTODSINTERVAL() 함수를 사용하여 Unix 시간(여기서는 1630425600)을 간격 유형으로 변환합니다. 마지막으로 타임스탬프와 시간 간격을 추가하여 Unix 시간에 해당하는 타임스탬프를 가져옵니다.
출력 결과는 Unix 시간에 해당하는 날짜와 시간을 나타내는 타임스탬프 유형 값이어야 합니다.
요약
이 문서에서는 타임스탬프를 다른 날짜 및 시간 형식으로 변환할 수 있는 Oracle 타임스탬프 변환 방법을 소개합니다. 이러한 방법을 통해 날짜 및 시간 문제를 보다 편리하게 처리할 수 있습니다.
위 내용은 Oracle 타임스탬프를 다른 날짜/시간 형식으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!