복붙노트

[SQL] ORA-01861 : 리터럴이 형식 문자열과 일치하지 않습니다

SQL

ORA-01861 : 리터럴이 형식 문자열과 일치하지 않습니다

나는이 조각을 실행하려고 할 때 :

cmd.CommandText = "SELECT alarm_id,definition_description,element_id,
    TO_CHAR (alarm_datetime, 'YYYY-MM-DD HH24:MI:SS'),severity,
    problem_text,status FROM aircom.alarms 
    WHERE status = 1 and 
    TO_DATE (alarm_datetime,'DD.MM.YYYY HH24:MI:SS') > TO_DATE ('07.09.2008 
    09:43:00', 'DD.MM.YYYY HH24:MI:SS') 
    order 
    by ALARM_DATETIME desc";

나는 얻다:

ORA-01861: literal does not match format string

나는 기본적인 SQL 명령을 실행할 수 있기 때문에 데이터베이스 연결에 문제가 없습니다.

이 문장의 문제는 무엇인가?

해결법

  1. ==============================

    1.WHERE 절에서 TO_DATE 제거

    WHERE 절에서 TO_DATE 제거

    TO_DATE (alarm_datetime,'DD.MM.YYYY HH24:MI:SS')
    

    과의 코드를 변경

    alarm_datetime
    

    이 오류는 날짜 컬럼의 TO_DATE 변환에서 비롯됩니다.

    추가 설명 : 오라클은 NLS 의존 된 날짜 형식을 사용하여 문자열로 alarm_datetime 변환합니다. 이 후에는 제공 날짜 마스크 TO_DATE를 호출합니다. 이것은 예외가 발생합니다.

  2. ==============================

    2.당신이 형식 문자열과 함께 문자를 입력하려고하는 오류 수단,하지만 형식 문자열의 길이는 문자 같은 길이 아니 었습니다.

    당신이 형식 문자열과 함께 문자를 입력하려고하는 오류 수단,하지만 형식 문자열의 길이는 문자 같은 길이 아니 었습니다.

    이러한 형식 중 하나는 잘못된 것입니다 :

    TO_CHAR(t.alarm_datetime, 'YYYY-MM-DD HH24:MI:SS')
    TO_DATE(alarm_datetime, 'DD.MM.YYYY HH24:MI:SS')
    
  3. ==============================

    3.

    SELECT alarm_id
    ,definition_description
    ,element_id
    ,TO_CHAR (alarm_datetime, 'YYYY-MM-DD HH24:MI:SS')
    ,severity
    , problem_text
    ,status 
    FROM aircom.alarms 
    WHERE status = 1 
        AND TO_char (alarm_datetime,'DD.MM.YYYY HH24:MI:SS') > TO_DATE ('07.09.2008  09:43:00', 'DD.MM.YYYY HH24:MI:SS') 
    ORDER BY ALARM_DATETIME DESC 
    
  4. ==============================

    4.그냥 쿼리를 실행하기 전에 : ALTER 세션 설정 NLS_DATE_FORMAT = "DD.MM.YYYY HH24 : MI : SS"; 또는 중 형식 당신은 날짜 함수에 대한 정보를 제공하고 있습니다. 이것은 ORA 오류를 수정한다

    그냥 쿼리를 실행하기 전에 : ALTER 세션 설정 NLS_DATE_FORMAT = "DD.MM.YYYY HH24 : MI : SS"; 또는 중 형식 당신은 날짜 함수에 대한 정보를 제공하고 있습니다. 이것은 ORA 오류를 수정한다

  5. from https://stackoverflow.com/questions/1387917/ora-01861-literal-does-not-match-format-string by cc-by-sa and MIT license