source

날짜 형식에 대한 Oracle SQL 쿼리

itover 2023. 4. 17. 21:46
반응형

날짜 형식에 대한 Oracle SQL 쿼리

저는 항상 ORACLE SQL 쿼리의 날짜 형식과 혼동하고 몇 분 동안 구글을 검색하는데, 데이터베이스 테이블에 날짜 형식이 다를 때 가장 간단한 방법을 설명해 주실 수 있나요?

예를 들어 날짜 열은 ES_DATE로 지정되며, 데이터는 TIMESTAMP(6) WITH LOCAL TIMEZONE의 27-APR-12 11.52.48.294030000 AM으로 저장됩니다.

여기에 이미지 설명 입력

특정 날짜의 데이터를 가져오기 위해 단순 선택 쿼리를 작성했지만 아무것도 반환되지 않습니다.누가 설명 좀 해줄래?

select * from table
where es_date=TO_DATE('27-APR-12','dd-MON-yy')

또는

select * from table where es_date = '27-APR-12';

to_date()는 00:00:00:00의 날짜를 반환하기 때문에 비교하고 있는 날짜에서 분을 삭제해야 합니다.

select * 
from table
where trunc(es_date) = TO_DATE('27-APR-12','dd-MON-yy')

인덱스를 생성할 수 있습니다.trunc(es_date)만약 당신이 정기적으로 하고 있는 일이라면요.

문자 그대로'27-APR-12'기본 날짜 형식을 다른 날짜로 변경하면 가 매우 쉽게 실패할 수 있습니다.그러니까 꼭 항상 사용하세요.to_date()적절한 형식의 마스크(또는 ANSI 리터럴:date '2012-04-27')

잘 쓰셨지만to_date()데이터형 변환에 의존하지 않고 to_date()를 사용하는 것은 포맷 때문에 아직 미묘한 함정이 있습니다.'dd-MON-yy'.

언어 설정이 다르면 이 작업이 쉽게 실패할 수 있습니다. TO_DATE('27-MAY-12','dd-MON-yy')NLS_LANG이 독일어로 설정되어 있는 경우.다른 언어에서 다를 수 있는 형식은 사용하지 마십시오.4자리 연도와 숫자만 사용합니다.'dd-mm-yyyy'또는'yyyy-mm-dd'

동일한 날짜 형식을 사용하고 있으며 query where date in oracle:

   select count(id) from Table_name where TO_DATE(Column_date)='07-OCT-2015';

Oracle에서 제공하는 To_DATE

데이터를 가져와 이 명령을 사용할 수 있습니다.데이터가 추출됩니다.

select * from employees where to_char(es_date,'dd/mon/yyyy')='17/jun/2003';

언급URL : https://stackoverflow.com/questions/17478476/oracle-sql-query-for-date-format

반응형