가장 가까운 7AM 날짜를 알아야합니다. 그것은 오늘 (00-07AM 인 경우) 또는 tomorow (07 AM-12PM 인 경우) 일 수 있습니다. if
성명에는 "인라인"이 가능합니까?신탁 날짜 받기
신탁 날짜 받기
답변
잘라 내기 전에 날짜를 조정할 수 있습니다. 실제 sysdate
대신에 가짜 sdate
값 :이 7시 0분 0초 이상이라면 내일이 7시 0분 0초 전에, 그리고 자정 경우
alter session set nls_date_format = 'DD/MM/YYYY HH24:MI:SS';
with t as (
select to_date('01/02/2013 00:00:00') as sdate from dual
union all select to_date('01/02/2013 06:59:59') from dual
union all select to_date('01/02/2013 07:00:00') from dual
union all select to_date('01/02/2013 07:00:01') from dual
union all select to_date('01/02/2013 23:59:59') from dual
union all select to_date('02/02/2013 00:00:00') from dual
)
select sdate,
trunc(sdate + interval '17' hour) + interval '7' hour
from t
order by sdate;
SDATE TRUNC(SDATE+INTERVA
------------------- -------------------
01/02/2013 00:00:00 01/02/2013 07:00:00
01/02/2013 06:59:59 01/02/2013 07:00:00
01/02/2013 07:00:00 02/02/2013 07:00:00
01/02/2013 07:00:01 02/02/2013 07:00:00
01/02/2013 23:59:59 02/02/2013 07:00:00
02/02/2013 00:00:00 02/02/2013 07:00:00
그래서 trunc(sysdate + interval '17' hour)
오늘 당신에게 자정을 줄 것이다; + interval '7' hour
은 첫 번째로 해결 된 날 중 07:00:00이됩니다.
간격 대신 + 17/24
및 + 7/24
을 사용할 수 있지만 나중에 간격을 이해하는 것이 더 쉽다고 생각합니다.
정확히 07:00:00으로 실행하면 내일으로 계산됩니다. 그것이 틀린 경우에는 초 단위로 조정할 수 있습니다.
with t as (
select to_date('01/02/2013 00:00:00') as sdate from dual
union all select to_date('01/02/2013 06:59:59') from dual
union all select to_date('01/02/2013 07:00:00') from dual
union all select to_date('01/02/2013 07:00:01') from dual
union all select to_date('01/02/2013 23:59:59') from dual
union all select to_date('02/02/2013 00:00:00') from dual
)
select sdate,
trunc(sdate + interval '16:59:59' hour to second) + interval '7' hour
from t
order by sdate;
SDATE TRUNC(SDATE+INTERVA
------------------- -------------------
01/02/2013 00:00:00 01/02/2013 07:00:00
01/02/2013 06:59:59 01/02/2013 07:00:00
01/02/2013 07:00:00 01/02/2013 07:00:00
01/02/2013 07:00:01 02/02/2013 07:00:00
01/02/2013 23:59:59 02/02/2013 07:00:00
02/02/2013 00:00:00 02/02/2013 07:00:00
trunc (sdate + interval '17'hour) + interval '7'hour 이 코드는 호환 가능합니까? –
에서 감사합니다. (= 10g에서 실행됩니까?) –
@ondrotadanai - 적어도 9i로 돌아갑니다. 간격이 추가되었을 때 확실하지 않습니다. –
시간이 < 07:00 또는 내일이면 오늘 알려 드리겠습니다.
trunc(sysdate+17/24)
trunc는 날짜의 시간 부분을 제거합니다. 17/24는 현재 시간에 17 시간을 더합니다.
O, 당신은 이미 이것을 알고 있습니다. 그래서 지금 나는 당신이 실제로 무엇을 요구하고 있는지 혼란 스럽습니다. – Rene
답변을 주셔서 감사합니다 그래서 내가 알고 싶어도 시간 : trunc (sysdate + 17/24) +7/24 사실? 덕분에 –
- 1. , 어떤 날짜 형식의 값을 제공 신탁
- 2. 날짜 받기
- 3. 는 (신탁) DECODE
- 4. 오늘 주중 날짜 받기
- 5. 시간이없는 현재 날짜 받기
- 6. dbpedia에서 sparql로 날짜 받기
- 7. AppleScript로 이메일의 날짜 받기
- 8. 잘못된 날짜 받기
- 9. 최신 날짜 기록 받기
- 10. .NET의 역순으로 날짜 받기
- 11. JSONObject에서 날짜 받기
- 12. 전화 걸기 날짜 받기
- 13. 우정의 시작 날짜 받기
- 14. 날짜 받기 VB.Net
- 15. NSCalendar.dateFromComponents에서 이상한 날짜 받기
- 16. 바이너리에서 날짜 시간 받기
- 17. 시스템 날짜 받기 ddmmyyyy
- 18. DateBox 날짜 받기
- 19. 캘린더 날짜 선택기에서 선택한 날짜 받기
- 20. 날짜 개체의 다음 다가오는 날짜 받기
- 21. 날짜 설정/코드 숨김의 Datepicker 날짜 받기
- 22. 정확한 로그 날짜 및 날짜 받기
- 23. 날짜 창문 만기일 전화 받기
- 24. Silverlight XAP 파일 날짜 받기
- 25. VBA Excel 날짜에서 날짜 받기
- 26. 게시물의 '좋아요'의 시간과 날짜 받기
- 27. Facebook 사용자의 가입 날짜 받기
- 28. 두 날짜 간의 시간 받기.
- 29. svnkit을 사용하여 작성 날짜 받기
- 30. MSVC 6.0의 시스템 날짜 받기
이 no에 대해 case 문을 사용할 수 있습니까? – TechDo
{}에서 (param1, param2, param3, {trunc (sysdate) +7/24}) schema.api_func.func()를 사용하여 간단한 문장을 사용하고 싶습니다. 가능하면 –