Oracle 날짜 열의 값에 30분을 추가해야 합니다. SELECT 문에서 다음과 같이 지정하여 이 작업을 수행합니다.
to_char(date_and_time + (.000694 * 31)`를 지정합니다.
대부분의 경우 잘 작동합니다. 하지만 시간이 오전/오후 경계에 있을 때는 그렇지 않습니다. 예를 들어, 오후인 12:30
에 30분을 더하면 오전인 1:00
이 반환됩니다. 제가 기대하는 답은 13:00
입니다. 이 작업을 수행하는 올바른 방법은 무엇인가요?
날짜에 일 수를 추가할 수 있을 뿐만 아니라, '오라클 9i' 이상을 사용한다고 가정할 때 간격 데이터 유형을 사용할 수 있으며, 이는 다소 읽기 쉬울 수 있습니다,
SQL> ed
Wrote file afiedt.buf
SELECT sysdate, sysdate + interval '30' minute FROM dual
SQL> /
SYSDATE SYSDATE+INTERVAL'30'
-------------------- --------------------
02-NOV-2008 16:21:40 02-NOV-2008 16:51:40
하지만 난 기본적으로 다른 모든 대답이 바로 don& # 39 을 직접 anyone& # 39, 기존 질문이예요 답변됨 것 같지는 않다.
있는 것으로 " date_and_time"; 열 네 비유하사 날짜이거나 시간스탬프와, 방금 이 문자를 사용하여 변경할 필요가 있다고 생각한다.
to_char(date_and_time + (.000694 * 31))
이:
to_char(date_and_time + (.000694 * 31), 'DD-MON-YYYY HH24:MI')
이 말은 기본 날짜 형식 soundmixer. " HH"; 코드, HH24", 시간, " 없습니다.
또한, 내 생각엔 당신 상수항 방식은 혼란 및 bb84 프로토콜. 내가 볼땐 재발했지 는 계산하십시오 etlat (.000694) 은 가치에 대한 의해 이 분 한 분, 가히 추가할 경우 (예를 들어, 비록 횡격막탈장의 텍스트를 30, 31).
또한 함께 나눌 수 있도록 이를 꼭 이래야겠어요 부서입니까 운영까지도 코드 내에서 하루 시작. 이 경우 (1/48) 약간만이라도 30 분, 하고 싶은 경우, 선명도, break it up for 작성할 수 있습니다 (1/24) * (1/2)).
이를 위해 둥글리기 오류 (여기서 의미가 있어야 할 때 발생하는 제외한 부동 소수점) 이며, 적어도 나에게 더.
from http://www.orafaq.com/faq/how_does_one_add_a_day_hour_minute_second_to_a_date_value
이 dtep 열 fs@snapa sysdate 현재의 시스템 날짜 및 시간. 추가 1 대 1 이 날짜까지 진행될 날이라니까요 SYSDATE 추가 시간, 분, 초 일자 분수를 사용할 수
SQL> select sysdate, sysdate+1/24, sysdate +1/1440, sysdate + 1/86400 from dual;
SYSDATE SYSDATE+1/24 SYSDATE+1/1440 SYSDATE+1/86400
-------------------- -------------------- -------------------- --------------------
03-Jul-2002 08:32:12 03-Jul-2002 09:32:12 03-Jul-2002 08:33:12 03-Jul-2002 08:32:13
난 ',' 간격 & # 39 를 사용하여 ipv6-literal. 포지셔닝하십시오 interval '이 때문에 30& # 39;; 5& # 39, & # 39 분 간격, '또는' '30 초' 는 훨씬 쉽게 읽을 수 있습니다 다음 비트/ (24 60) '또는' 5 ' (24 60 * 69) /
예:
여러 장치에 하나의 표현식에서는 조합할 수도 있습니다.
2 일, 3 시간 6 분 날짜 값에 대한 자도으로
또한 위의 표준 SQL 은 또 다른 여러 데이터베이스관리시스템 (dbms).
자세한 내용은 config. 수작업식: https://docs.oracle.com/database/121/SQLRF/sql_elements003.htm # SQLRF00221
이 사용하지 않을 수 있는가?
SELECT date_and_time + INTERVAL '20:00' MINUTE TO SECOND FROM dual;
나는 이 새로운 도메인.
Oracle이 시작 시간이 오후라는 것을 이해하고 최종 출력에 대해 HH24 형식 마스크를 지정해야 합니다.
SELECT to_char((to_date('12:40 PM', 'HH:MI AM') + (1/24/60) * 30), 'HH24:MI') as time
FROM dual
TIME
---------
13:10
참고: HH:MI의 'AM'
은 오전/오후 자오선 표시기를 위한 자리 표시자일 뿐입니다. ''PM'
일 수도 있습니다.
SELECT to_char(sysdate + (1/24/60) * 30, 'dd/mm/yy HH24:MI am') from dual;
이와 함께 다양한 날짜 형식 간단히 사용할 수 있습니다.