반응형
Oracle : 날짜를 시간 단위로만 비교합니다.
우리는 DATE 란이 있는 테이블이 있습니다.
날짜에 상관없이 d열이 일부 값보다 크거나 낮은 행을 모두 받고 싶습니다.
예를들면
| d |
-------------------
|2009/11/1 15:55:23|
--------------------
|2009/11/2 15:55:23|
--------------------
|2009/11/3 15:55:23|
--------------------
|2009/11/3 17:55:23|
--------------------
예를 들어, 모든 레코드를 오후 5시 이후에 표시하려면:
select d
from my_table
where extract( hour from d ) > TO_DATE ('17:00:00','HH24:MI:SS')
이것은 오직 하나의 레코드만 반환해야 합니다.
|2009/11/3 17:55:23|
이것이 가장 좋은 방법인지는 모르겠지만 추출 기능에 오류가 발생합니다.
ORA-30076: invalid extract field for extract source
Cause: The extract source does not contain the specified extract field.
더 좋은 방법이 없을까요?그 오류는 어떻게 된 겁니까?내가 찾은 모든 예와 같이 sysdate에만 사용할 수 있는 추출물?
미리 감사드립니다.
이건 어때?
select d
from my_table
where to_char(d,'HH24') > '16';
현재 테스트할 Oracle 데이터베이스는 없지만 다음과 같은 기능이 있어야 한다고 생각합니다.
SELECT *
FROM MY_TABLE t
WHERE EXTRACT(HOUR FROM CAST(t.D AS TIMESTAMP)) > 16;
그런데 이 페이지에는 HOUR가 DATE에서 유효한 필드라고 되어있는데 CAST가 왜 필요한지 이해가 안가요.
나누어서 즐겨요.
시도해 보기:
select d from my_table
where (d-trunc(d)) > 16/24;
언급URL : https://stackoverflow.com/questions/2343056/oracle-compare-dates-only-by-the-hour
반응형
'programing' 카테고리의 다른 글
WooCommerce 무료배송 라벨 맞춤 기능 (0) | 2023.10.26 |
---|---|
C 스트링에서 첫 번째 캐릭터를 제거하는 방법? (0) | 2023.10.26 |
C/C++의 더블을 통해 운반할 때 Float의 보존이 보장됩니까? (0) | 2023.10.26 |
PHP에서 두 번의 시차를 구하는 중 (0) | 2023.10.26 |
워드프레스에서 CJK와 영어 문자를 모두 포함하는 선을 제대로 끊는 방법은? (0) | 2023.10.26 |