"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Oracle SQL의 날짜를 올바르게 비교하는 방법은 무엇입니까?

Oracle SQL의 날짜를 올바르게 비교하는 방법은 무엇입니까?

2025-02-15에 게시되었습니다
검색:644

How to Correctly Compare Dates in Oracle SQL?

Oracle SQL의 날짜 비교

Oracle SQL의 날짜를 비교할 때 날짜가 올바르게 형식화되어 있는지 확인하십시오. 기본적으로 Oracle은 날짜를 숫자로 해석하여 부적절하게 처리하면 오류가 발생할 수 있습니다.

일반적인 문제는 문자열을 사용하여 날짜를 나타냅니다. 문자열 (예 : '31 -dec-95 ')은 유효한 날짜로 인식되지 않으며 "유효하지 않은 식별자"오류를 트리거합니다. 이 문제를 해결하려면 날짜 리터럴 또는 to_date () 함수를 사용하여 문자열을 날짜로 변환하십시오.

to_date ()

사용

to_date () 함수를 사용하면 날짜 문자열의 형식을 지정하고 날짜 데이터 유형으로 변환 할 수 있습니다. 예를 들어:

select employee_id
  from employee
 where employee_date_hired > to_date('31-12-1995','DD-MM-YYYY')

이 쿼리는 'dd-mm-yyyy'형식을 사용하여 문자열 '31 -12-1995 '를 날짜로 변환하고 Employee_date_hired 열과 비교합니다.

날짜 텍스트 사용

]]]

날짜 리터럴은 Oracle SQL의 날짜를 지정하는 또 다른 방법입니다. 그들은 'YYY-MM-DD'형식으로 작성되었으며 시간 요소가 포함되어 있지 않습니다. 예를 들어:

select employee_id
  from employee
 where employee_date_hired > date '1995-12-31'

이 쿼리는 Employee_date_hired 열을 날짜 텍스트 '1995-12-31'(1995 년 12 월 31 일)과 비교합니다.

처리 시간 및 로케일 설정

]

Oracle 날짜에는 시간 구성 요소가 포함되어 있으므로 정확한 비교를 해야하는 경우 시간 요소를 고려해야합니다. 또한 날짜 형식은 NLS_DATE_FORMAT 및 NLS_DATE_LANGUAGE 설정에 따라 다를 수 있습니다. 지역에서 일관된 날짜 처리를 해야하는 경우 yyyy-mm-dd 형식을 사용하고 그에 따라 nls_date_format 및 nls_date_language를 설정하십시오.

직원 수

특정 날짜 후 고용 된 직원 수를 계산하고 직원 ID로 결과를 그룹화하려면 다음 쿼리를 사용할 수 있습니다.

select employee_id, count(*)
  from employee
 where employee_date_hired > date '1995-12-31'
 group by employee_id

이 쿼리는 1995 년 12 월 31 일 이후에 고용 된 직원 수를 제공하며 직원 ID로 그룹화합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3