Oracle SQL보다 작거나 같음
updated_date = 08-Jun-2010;
저는 이런 질문이 있습니다.
select * from asd whre updated_date <= todate('08-Jun-2010', 'dd-MM-yy');
하지만 결과가 나오지 않습니다.다음과 같은 경우에만 작동합니다.todate2010년 6월 9일...
즉, 나의equalto연산자가 제대로 작동하지 않습니다.
왜 그럴까요?
Oracle에서 DATE는 특정 시점입니다.항상 초 단위의 정밀도를 갖는 시간 성분을 가지고 있습니다.todate('08-Jun-2010', 'dd-Mon-yyyy')Oracle에 있는 것과 동일합니다.todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss')따라서 해당 날짜까지의 행을 선택하면 다음 날짜와 동일하지 않은 시간 성분으로 해당 날짜에 행을 얻을 수 없습니다.00:00.
다음을 포함한 모든 행을 선택하려는 경우08-JUN-2010다음을 사용하는 것이 좋습니다.
< to_date('09-06-2010', 'dd-MM-yyyy')
또는
<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')
참고 - 날짜 형식을 수정했습니다. 사용해야 합니다.MON약식 월 이름을 사용하려는 경우.를 사용하는 것이 좋습니다.MM대신, 누군가가 클라이언트 설정을 변경할 때 오류가 발생하지 않도록 (NLS_DATE_LANGUAGE) 또한 를 사용하는 것을 선호합니다.YYYY대신에YY.
이것 좀 봐요.
select to_date('08-Jun-2010', 'dd-MON-yyyy') from dual;
이와 같음2010-06-08 00:00:00시간을 주목하세요.
그updated_date시간 부분이 있습니다.이 쿼리를 포함하려면 이 쿼리를 사용하십시오.
select * from asd where trunc(updated_date) <= to_date('08-Jun-2010', 'dd-MON-yyyy');
기본값TRUNCfunction for date 매개 변수는 시간을 제거합니다.
잘라내기 참조
언급URL : https://stackoverflow.com/questions/2996915/less-than-or-equal-to-in-oracle-sql
'programing' 카테고리의 다른 글
| mariadb 10(홈브루 설치) 및 OS X 10.10과 함께 작동하는 Mysql 기본 설정 창 (0) | 2023.07.28 |
|---|---|
| PostgreSQL: 고유 위반: 7 오류: 중복 키 값이 고유 제약 조건 "users_pkey"를 위반함 (0) | 2023.07.23 |
| 독트린에서 updated_at, created_at에 대한 자동 값 (0) | 2023.07.23 |
| 이미지를 제자리에서 90도 회전시키는 알고리즘?(추가 메모리 없음) (0) | 2023.07.23 |
| 메모리에서 열립니까? (0) | 2023.07.23 |